Tag: excel vba

有没有一种方法可以让UDF提供像本地Excel函数一样的描述,当用户单击Fxbutton时?

如果我在公式栏中键入=vlookup( (或任何其他本地Excel函数),然后单击公式左边的小Fxbutton,我将得到一个带有所有可用参数的函数参数提示符。参数,是从每个参数的input框中移动光标时,函数和每个参数的一个或两个句子描述。 当我input我的UDF的名称,然后单击Fx我得到一个input框的所有我的论点,但就是这样。 有没有一种方法可以添加原生Excel函数具有的那些相同types的描述?

Chr(1)的Range.Replace总是如此

现在我很困惑。 我正在为这个问题创build一个答案。 通过运行一些testing我注意到了 ActiveSheet.Cells.Replace Chr(1), "", xlPart, , True, , False, False 完全清除表单。 Chr(42)这是否合理?但是为什么Chr(1) ? 有谁知道原因? 它是某种第二/隐藏的占位符? (找不到东西,但使用可能只是错误的search条件)

如何在办公室自动更改大小的ActiveX对象?

此线程讨论了我在Excel电子表格中使用ActiveX对象所遇到的问题。 这是一个混乱的阅读,最终没有一个有凝聚力的答案。 问题是100%可重现的: 使用扩展坞时,在电子表格中打开带有ActiveX对象的工作簿 从坞站断开机器,触发解决scheme更改(还有其他原因,我的是一个扩展坞,似乎改变决议导致这一点) 单击一个ActiveX控件 – 他们立即resize和字体更改大小。 字体大小的变化不是.Font.Size参数的函数,而是在问题发生后无法更改的东西,除了不断增加字体大小 唯一看似权威的解决scheme涉及MS补丁(几年前它是一个“修补程序”,尽pipe如此,对于完整部署似乎不实用)和registry编辑,这对我的使用情况是不实际的。 我正在寻找一种方法来: 防止发生这种变化 find最好的工作 网上对这个问题缺乏权威性的信息。 我打算张贴我的工作,但是,它甚至不理想,我更喜欢更好的解决scheme。

Excel 2010:如何在validation列表中使用自动完成function

我正在使用一个大的validation列表,几个vlookup()函数依赖。 这份名单越来越大。 有没有办法input我正在寻找的列表项的第一个字母,而不是手动向下滚动search项目列表? 我做了一些谷歌search,但这表明,这确实可能在早期版本的Excel中,但不是在Excel 2010中。希望你们可以帮忙。 谢谢。

如何在Excel VBA监视窗口中监视字典中的值?

我通过dict As New Dictionary词典在Excel VBA中使用dict As New Dictionary (并添加对脚本运行时的引用)。 当我在debugging过程中试图监视这些内容时,我只能看到字典中的键,而不是每个键的相应值。 有没有办法看到这个价值呢? 这将使debugging更容易对我来说。 编辑:根据你的答案,有没有简单的解决scheme,但我可以做到以下几点。 使用全局variablesDim d_obj As Object并持续监视它,每当我需要查找一个字典的值时,我在即时窗口中键入Set d_obj(key) = … ,我将能够看到值监视器窗口。 另外我可以做的是编写一个函数,它接受一个字典并将其作为列表返回,并在直接窗口中同样使用这个函数。 Thx给所有人!

CreateObject(“Excel.Application”).Workbooks.Open和Just Workbooks.Open之间的区别

我目前正在使用Workbooks.Open来处理目录中包含的大量文件。 但是打开和closures这些文件会使文件出现在任务栏中,我想避免不停的闪烁。 我得到了一个build议,我可以使用CreateObject创build一个新的实例,因为这将打开一个新的隐藏的Excel实例。 在性能方面开放新工作簿的两种方式有没有其他区别? 另外,我是否应该只使用一个使用CreateObject创build的Excel实例来打开所有Workbook,或者是否需要为每个工作簿创build一个实例( 这似乎浪费了大量的内存和较less的速度 )?

最后一行不是空行; Excel VBA

我有一个Excel工作表,我需要find特定列中的最后一个非空单元格 。 我该怎么做呢? 下面将为我select这个,但它会select第一个不是空的单元格,我需要在行中的最后一个不空的单元格。 Worksheets("DTCs").Range("A29").End(xlToRight).Select

检查是否选中了基于工作表的checkbox

我正在尝试使用IF子句来确定我的checkbox(名为“checkbox1”)是否被选中,以便在我的程序中进一步使用。 我目前的代码: Sub Button167_Click() If ActiveSheet.Shapes("Check Box 1") = True Then Range("Y12").Value = 1 Else Range("Y12").Value = 0 End If End Sub 这似乎不工作,但debugging告诉我有一个问题 ActiveSheet.Shapes("Check Box 1") 不过,我知道这个代码有效(即使它有不同的用途): ActiveSheet.Shapes("Check Box 1").Select With Selection .Value = xlOn 编辑:如果需要更多的信息,我的checkbox(在我的网页上有200个)位于sheet1,名称为“Demande”。 并且每个checkbox都具有相同的格式名称“checkbox…”。 所有的帮助将不胜感激。 谢谢

通过VBA复制另一个工作簿中的数据

这就是我想要做的事情,而且我有点麻烦。 我有一个工作簿,我想从不同的文件收集数据做这样的事情。 Do While THAT_DIFFERENT_FILE_SOMEWHERE_ON_MY_HDD.Cells(Rand, 1).Value <> "" And Rand < 65536 then 'I will search if the last row in my main worksheet is in this file… End Loop 如果是这样,我会退出While循环,如果不是,我会复制一切。 其实这不会像我想要的那样工作,但我不会find正确的algorithm的麻烦。 我的问题是,我不知道如何访问不同的工作簿。

Excel中的Application.CutCopyMode属性的function到底是什么?

那么首先我发现了几个答案,而谷歌search,但大多数的论坛被阻止在我的Office Network因此在这里问这个问题! 还有一个意图是用简单的英语得到答案:P 我明白,如果我们设置Application.CutCopyMode = False那么复制/剪切结果将消失(即内存将被清除),但什么时候应该使用这个,什么时候不使用? 任何人都可以请帮忙?