⑴ VBA 如何保存變數
代碼和數據是分開的,VBA無法在程序裡面存儲變數的值,除了使用你說到的存儲到表格中之外,還可以選擇的方法是存儲到注冊表或本地文本文件中。
⑵ vba表達式
IF(logical_test,value_if_true,value_if_false)
Logical_test 表示計算結果為 TRUE 或 FALSE 的任意值或表達式。例如,A10=100 就是一個邏輯表達式,如果單元格 A10 中的值等於 100,表達式即為 TRUE,否則為 FALSE。本參數可使用任何比較運算符。
Value_if_true logical_test 為 TRUE 時返回的值。例如,如果本參數為文本字元串「預算內」而且 logical_test 參數值為 TRUE,則 IF 函數將顯示文本「預算內」。如果 logical_test 為 TRUE 而 value_if_true 為空,則本參數返回 0(零)。如果要顯示 TRUE,則請為本參數使用邏輯值 TRUE。Value_if_true 也可以是其他公式。
Value_if_false logical_test 為 FALSE 時返回的值。例如,如果本參數為文本字元串「超出預算」而且 logical_test 參數值為 FALSE,則 IF 函數將顯示文本「超出預算」。如果 logical_test 為 FALSE 且忽略了 Value_if_false(即 value_if_true 後沒有逗號),則會返回邏輯值 FALSE。如果 logical_test 為 FALSE 且 Value_if_false 為空(即 value_if_true 後有逗號,並緊跟著右括弧),則本參數返回 0(零)。Value_if_false 也可以是其他公式。
⑶ vba中用正則表達式提取數值給數組,求表達式
VBA Code(假設在 Excel 的活動工作表的 A1 單元格中存儲著上述 Json 字元串):
OptionExplicit
SubExtractJsonData()
DimobjRegExpAsObject
DimobjMatchAsObject
DimobjMatchesAsObject
SetobjRegExp=CreateObject("VBScript.RegExp")
WithobjRegExp
.IgnoreCase=True
.Global=True
.Pattern="""issue"":""(d+?)"",""opennum"":""(.*?)"""
If.Test([A1])Then
SetobjMatches=.Execute([A1])
ForEachobjMatchInobjMatches
Debug.PrintobjMatch.SubMatches(0);objMatch.SubMatches(1)
Next
EndIf
EndWith
EndSub
運行結果:
表達式就是代碼中的 Pattern 屬性值
⑷ 求助VBA 正則表達式問題 很奇怪的一個問題
居然在這里又來一遍
http://..com/question/351028452.html
⑸ 如何在vba中運行表達式
Public Sub sda()
MsgBox Application.Evaluate("2*5+100")
End Sub