嘿,我觉得这应该有一个简单的解决scheme,但我还没有能够绊倒呢。 我有一个combobox。 combobox具有select时的值,导致其他问题。 我有一个button,我想成为一个“上一级”button,当按下清除所有以下问题,并重置combobox的显示是没有什么,比如当它被创build之前,任何选项被选中。 我希望combobox中的值仍然存在,以便用户仍然可以进行select。 我似乎无法弄清楚这一点。 我已经尝试设置值= 0,ListIndex = -1,都无济于事。 我不想使用“清除”,因为我想保留combobox中的值。 如果通过combobox的属性看几次,我不能挑出哪一个将帮助我做我想在这里。 你的帮助弄清楚这将不胜感激。
我们的工作簿是服务器生成的SpreadsheetML ,它不能包含任何 VBA代码。 不幸的是,创build本机Excel文件或Excel 2007 XML文件也不是一个选项。 所以,我有一个Excel加载项(VBA,而不是XLL),我们的每个用户都安装了一些额外的UDF等,我们的工作簿需要。 这很好,但现在我需要有一个macros, 每次用户更改任何单元格中的文本时都需要执行,而不pipe当前正在使用哪个工作簿。 到目前为止,我已经在我的加载项中创build了一个新的Class模块(SheetChangeHandler),代码如下: Option Explicit Private WithEvents App As Application Private Sub Class_Initialize() Set App = Application End Sub Private Sub App_SheetChange(ByVal Sh As Object, ByVal Source As Range) Debug.Print "Changed" On Error GoTo Finish App.EnableEvents = False DoWorkOnChangedStuff Sh, Source Finish: App.EnableEvents = True End Sub 在我的加载项中,我添加了一行来实例化新类: […]
Excel工作表重命名时,获得一些VBA代码的最佳方法是什么?
我在Excel 2003中使用VBA。这是我遇到的问题的最简单的例子。 我想只用逗号分割一个string,将其放入行中的单元格中。 在单元格A1中,我有以下string: AB,C 在VBA中,如果我说Range("A1").TextToColumns Comma:=True,Space:=False ,它符合我的期望。 单元格A1是AB ,单元格B1是C 但是,如果我有这个string: ABC,D 那么如果我使用Range("A1").TextToColumns Comma:=True,Space:=False ,无论如何它会被Range("A1").TextToColumns Comma:=True,Space:=False分割! 单元格A1是A ,单元格B1是B ,单元格C1是C,D (?!) 为什么TextToColumns在有多个空格时会自动按空格拆分,即使我明确地告诉它不要? 这是一个已知的错误? 有没有解决方法,而不是自己手动parsingstring到列?
我正试图在Excel-VBA中创build一个Please Wait消息。 这是提醒用户处理sql查询的过程还在进行中。 我想这个消息显示在一个用户窗体中。 目前,用户连接到SQL DB,select数据库和其他一些选项,按下Go …,表单不会卸载。 在Go处,我有另外一个popup消息Please Wait窗体,但这个窗体不能卸载,即sql执行命令不能运行。 我的代码调用Please Wait表单,包括一个标签: Call WaitShowSQl.ExecuteCall KillWaitCall WaitShow SQl.Execute Call KillWait 在另一个代码模块中我有: Sub WaitShow() Wait.Show End Sub Sub KillWait() Unload Wait End Sub 我有以下代码调用waitform的userform: Private Sub UserForm_Activate() Call PleaseWait End Sub Sub PleaseWait() Wait.Label1.Caption = "Calculating…Please Wait!" End Sub 现在,在执行代码时,运行时不会通过模块返回以执行以下操作: SQl.ExecuteSQl.Execute 我可以用状态栏显示程序的进度,但用户窗口popup消息对于这个程序是非常有用的。
我正在创build一个word文档模板,并处于一个十字路口。 我想用从MATLAB输出中填充的MATLAB和Excel表格创build的数字填充文档。 数字被组织到文件夹中,Excel表格被组织在Excel模板的工作表中,如下所示: 我在这里问了几个关于自动更新这些表格和数字的问题,现在有了这样的代码: MS Word中的链接表 在MS Word中链接的图像和表格 报告很长,但篇幅有所不同。 这些报告logging了机器testing。 有的客户testing1台机器,有的testing5台机器。 对于5台机器,报告有100个表和400个数字。 例如,2台机器的报告结构如下: 文字1 图1.1 图1.2 文字2 表1.1 表1.2 图2.1 图2.2 我想以编程方式创build报告。 用户可以将Word模板,Excel模板和文件结构复制并粘贴到其工作目录中。 Excel模板中将有一个工作表,提供有关testing的信息。 即要testing的机器数量。 该模板将被构build为一台机器。 VBA将从Excel模板中抽取要testing的机器数量。 然后,它将在Word文件中索引数字和表格,将它们复制到Word文件中正确位置的指定数量的机器,并将它们链接到正确的源文件位置。 如果一个迭代的testing运行,这是我将使用上面张贴的代码来更新数字和表格。 什么是最简单的方法来设置? 什么方法会使生成和刷新表数据最快? 从我已经完成的阅读,这听起来像设置表导入为图片可能会更快,而不是链接数据, 如此应用程序。 我想代码要快速,安全,健壮,而不是依赖于任何这样的插件。 可能我可能需要这样的东西,但似乎有点矫枉过正。 任何帮助将不胜感激 – 我正在努力掌握Word VBA,字段代码和书签之间的关系,并最好地使用它们对我有利。
我正在编写一个需要“&”符号来分隔两个单词的标题。 Hello & World 但它忽略了&因为大部分内置的函数评估它的价值,即。 Page &[Page] of &[Pages] => Page 1 of 3 &[Time]或者&T => 10:26 那么,如何避免头文件中的&符号?
我正在桌面计算机上开发Excel VBA应用程序。 我的电子表格上有一个DatePicker ActiveX控件。 这工作正常。 然后,在旅途中,我正在使用笔记本电脑上的应用程序。 当我回来时,我把文件移回到我的台式机。 现在,当我尝试运行应用程序,我不断得到错误“不能退出devise模式,因为控制'DTPicker1”不能创build“。 重命名控件及其代码中的所有引用没有帮助。 当我尝试删除控件时,即使不再有对该控件的控制,仍然会收到消息。 我该如何解决?
我正在使用SPSS 15创build多个Excel报表,然后使用Excelmacros进行整合。 不幸的是,特定的SPSS版本生成的Excel文件不易读取Excel 2007及以上。 Excel 2003会将这些文件捣毁,但是更新的Excel版本会显示两条错误消息。 首先是“Excel在filename.xls中发现不可读的内容,你是否想恢复这个工作簿的内容?”。 点击“是”后,出现“文件错误:数据可能已丢失”。 不幸的是,这些错误消息导致我的macros退出第一个文件,错误代码为1004.这是我用来打开我的Excel文件的代码: If Len(Dir(ThisWorkbook.Path + "\filename.xls")) <> 0 Then Workbooks.Open Filename:=ThisWorkbook.Path + "\filename.xls" End If 我与IBM(SPSS供应商)进行了核对,他们告诉我这个问题已经在SPSS 16中解决了,但是由于商业原因,升级不在现场。 现在有一个手动解决方法,涉及到打开文件和再次保存,但有几十个文件显然没有乐趣。 因此,我正在寻找一种方法来自动修复我的macros中的腐败工作簿。 更多信息:我们正在使用Excel 2010,Excel 2003不可用。 示例文件在这里可用: https : //onedrive.live.com/?cid=52106BC267261CBF&id=52106BC267261CBF!292
说单元格A1有一个date:1/1/2017。 然后下面的macros给出不同的结果: 第一 – 真的 第二 – 假。 这种差异的原因是什么? 我应该如何正确使用IsNumeric? Sub TestIsNumber() MsgBox WorksheetFunction.IsNumber(Cells(1, 1)) MsgBox WorksheetFunction.IsNumber(Cells(1, 1).Value) End Sub