Tag: vba

Excel VBA按名称引用QueryTable对象

我正在开发一个MS Excel 2013工具与VBA涉及使用QueryTables。 我遇到的一个不便之处是访问Excel工作表中现有的 QueryTables。 目前,我可以通过整数索引find访问查询表的唯一方法。 我想出了下面的代码来快速validation概念 Sub RefreshDataQuery() Dim querySheet As Worksheet Dim interface As Worksheet Set querySheet = Worksheets("QTable") Set interface = Worksheets("Interface") Dim sh As Worksheet Dim QT As QueryTable Dim startTime As Double Dim endTime As Double Set QT = querySheet.ListObjects.item(1).QueryTable startTime = Timer QT.Refresh endTime = Timer – startTime interface.Cells(1, […]

dynamic添加标签到用户窗体=空白用户窗体

我试图dynamic地添加button到用户窗体,但用户窗体只是空白。 我已经简化了代码的本质,尽可能地进行错误检查(不是它帮助了我) Sub addLabel() UserForm2.Show Dim theLabel As Label Dim labelCounter As Integer For labelCounter = 1 To 3 Set Label = UserForm2.Controls.Add("Forms.Label.1", "Test" & labelCounter, True) With theLabel .Caption = "Test" & labelCounter .Left = 10 .Width = 50 .Top = 10 End With End Sub 有没有办法检查button是否已经添加,但是看不见? 或者为什么他们没有被添加。 任何帮助不胜感激。

加固细胞的特定部分

我有一个单元格引用为="Dealer: " & CustomerName 。 CustomerName是一个字典引用的名字。 我怎么能只用“加工商”而不是客户的名字。 例: 经销商:乔希 我努力了 Cells(5, 1).Characters(1, 7).Font.Bold = True 但它似乎只能在未引用的单元格上工作。 我怎么能得到这个工作在一个参考单元格?

如何从Excel 2003 VBA中调用WCF客户端?

如问题所述,我如何从Excel 2003 VBA中调用WCF客户端? 我看到有一个地方可以调用Web服务,但是我已经通过Google进行search,所有得到的结果都无法从VBA调用WCF客户端。 我想知道在使用我的代码之前要使用什么方法,不想浪费时间,以后发现不可能这样做。

如何在VBA for Excel中使用r1c1格式进行绝对引用?

我正在使用VBA(r1c1格式)为Excel写一个macros,我想引用一个始终在E3位置的单元格。 有没有我可以使用的语法,将在r1c1格式绝对参考? 或者是有办法切换到A1和回到r1c1? 我到处找,我找不到答案…提前感谢。

Excel VBAdate格式

我有一个包含许多date的电子表格。 这些通常以mm/dd/yyyy或mm/dd/yyyy hh:mm 。 问题是date不总是正确的,我想检查,以确保它们是代码中的date。 我原来的想法是使用IsDate检查或CDate但这似乎并没有工作:它仍然返回string,而不是date。 我已经做了一个小实验,表明这些function并不像我期望的那样工作。 方法是: 在单元格A1中input公式=DATE(2013,10,28) 单元格B1公式=A1*1应该等于一个数字(41575) 运行这个小脚本 Sub test() MsgBox ("Start:" & TypeName(ActiveCell.Value) & " " & IsDate(ActiveCell.Value)) ActiveCell.Value = Format(ActiveCell.Value, "mm/dd/yyyy") MsgBox ("After format: " & TypeName(ActiveCell.Value) & " " & IsDate(ActiveCell.Value)) ActiveCell.Value = CDate(ActiveCell.Value) MsgBox ("After Cdate: " & TypeName(ActiveCell.Value) & " " & IsDate(ActiveCell.Value)) End Sub 当脚本启动的单元格是一个types的date和IsDate返回true。 通过Format运行后,它是stringtypes,但IsDate仍然返回true。 […]

如何从.net代码检查是否启用了“信任访问VBA项目对象模型”的Excel应用程序?

如何从.net代码检查是否启用了“ 信任访问VBA项目对象模型 ”的Excel应用程序? 手动我可以从Excel应用程序中检查它 – 文件>选项>信任中心>信任中心设置>macros设置>信任访问VBA项目对象模型

vba将一组单元格作为范围来运行

我得到一组单元格,并在下面的函数中对它们进行一些计算。 如果我将范围(以:符号)作为第一个parameter passing,但是如果我select一些单元格作为其范围( A1, A3, B6, B9 ),则失败。 它只是取得逗号前的第一个单元格作为第一个参数。 但是我想要整个细胞。 我能做什么? (除了使用string传递范围) Function calculateIt(Sessions As Range, Customers As Range) As Single ' calculate them… End Function 还有一件事:是否可以传递一组范围作为参数? 怎么样?

find当前的用户语言

如何在vba程序中告诉当前的用户语言? 我需要用适当的语言来显示表格。

通过vba字典

新vba。 如何将字典对象传递给另一个函数。 Sub aaa(dict As Object) Set dict = CreateObject("Scripting.Dictionary") … process dict End Sub Sub process(dict As Scripting.Dictionary) MsgBox dict.Count End Sub 给出了一个编译错误:用户定义的types没有定义 也, Set dict = CreateObject("Scripting.Dictionary") 作品,但是 Dim dict As New Scripting.Dictionary 给出“用户定义types未定义” 我使用Excel 2010