是否可以使用常用的Excel VBA编辑器,可以使用Excel中的Alt + F11进行访问?
我更喜欢Visual Studio IDE,例如我在C#中开发的时候.它的一个不足之处包括一个简单的事实,即没有键盘快捷键来停止调试过程,尽管我觉得Excel VBA编辑器还存在其他问题.
我有一个if多条件的声明.我无法在一个窗口视图中看到它们.有没有办法在不同的行上分隔它们,还是必须将它们全部写在一行?
IfVBA应用程序中有一个条件如下所示:
If Not My_Object Is Nothing Then
My_Object.Compute
Run Code Online (Sandbox Code Playgroud)
当代码在调试模式下运行时,我发现If即使My_Object具有"无变量" ,条件也会返回true .
有人可以解释一下吗?我想My_Object.Compute只在My_Object存在时执行.
我在不同的单元格中有多个字符串
CO20: 20 YR CONVENTIONAL
FH30: 30 YR FHLMC
FHA31
Run Code Online (Sandbox Code Playgroud)
我需要从1到到'''的索引获取子字符串,或者如果在结束之前不可用(在字符串3的情况下).我需要帮助在VBA中写这个.
我在VBA中有简单的功能,我需要检查它是否已成功执行.我不太了解VBA,所以我不知道它是否可行.我想做这样的事情:bool X=MyFunction().
我在QTP描述性编程中使用VBA .这不起作用:
Function A as Boolean
A=true
End Function
Run Code Online (Sandbox Code Playgroud)
它说: Expected statement
但我在方法等中看不到任何返回类型.
我在使用Excel VBA发送Outlook电子邮件时遇到问题.我有代码来做 - Sendupdate- 当我手动运行宏时,它工作正常.我的第二个宏StartTimer是为了在我不在我办公桌前的设定时间执行上述操作.
但是,当计算机被锁定时,电子邮件不会发送.当我回到我的办公桌时,电子邮件挂在那里作为草稿,我需要点击send按钮.
这是我的代码:
Sub SendUpdate()
Recipient = "x@y.com"
Subj = "update"
Dim msg As String
msg = "hello”
HLink = "mailto:" & Recipient & "?"
HLink = HLink & "subject=" & Subj & "&"
HLink = HLink & "body=" & msg
ActiveWorkbook.FollowHyperlink (HLink)
Application.Wait (Now + TimeValue("0:00:01"))
Application.SendKeys "%s"
End Sub
Sub StartTimer()
Application.OnTime TimeValue("18:00:00"), "SendUpdate"
End Sub
Run Code Online (Sandbox Code Playgroud)
有没有办法对宏进行编码以确保电子邮件被推送?
我正在遍历一个电子表格,其中包含一系列价格形式的double类型.我试图找到电子表格中显示的缺失值"n/a",但它不允许我将其解释为string类型.
包含的细胞"n/a"似乎是一种integer类型; 我怎么读这个?
我正在编写一个宏,它采用LDAP格式的名称列表将它们转换为First,Last(region).对于那些不知道LDAP是什么样的人,它在下面:
CN=John Smith (region),OU=Legal,DC=example,DC=comand
Run Code Online (Sandbox Code Playgroud)
在Excel VBA中,我似乎无法使用string.substring(start,end).对Google的搜索似乎表明,Mid(字符串,开头,结尾)是最好的选择.问题是:在Mid中,end的整数是从开始的距离,而不是字符的实际索引位置.这意味着不同的名称大小将具有不同的结束位置,并且我不能使用索引")"来查找区域的结尾.由于所有名称都以CN =开头,我可以正确找到第一个子字符串的结尾,但我找不到")"因为名称长度不同.
我在下面有一些代码:
mgrSub1 = Mid(mgrVal, InStr(1, mgrVal, "=") + 1, InStr(1, mgrVal, "\") - 4)
mgrSub2 = Mid(mgrVal, InStr(1, mgrVal, ","), InStr(1, mgrVal, ")") - 10)
manager = mgrSub1 & mgrSub2
Run Code Online (Sandbox Code Playgroud)
有没有人知道一种实际使用设定终点的方法,而不是一个距离一开始就有这么多值的终点?
是否有可能CallStack在VBA中看到MS Access 2003?也就是说,将有可能从看什么procedure或function另一个function叫?
vba ×10
excel ×5
excel-vba ×5
if-statement ×2
access-vba ×1
callstack ×1
editor ×1
email ×1
excel-2003 ×1
excel-2007 ×1
function ×1
ide ×1
ldap ×1
line-breaks ×1
ms-access ×1
nothing ×1
outlook ×1
split ×1
string ×1
substring ×1
types ×1