[英]Comparing text in cell with “=text” in another cell with excel VBA
我正在嘗試在VBA循環中比較單元格值。 我正在使用的循環是這樣
For Each r In Rng
If Cells(r.Row, var1) = "string" And Cells(r.Row, var2) = Variable Then
Cells(r.Row, var3) = "targetstring1"
ElseIf Cells(r.Row, var1) = "string2" And Cells(r.Row, var2) <> Variable Then
Cells(r.Row, var3) = "targetstring2"
end if
Next r
我試圖允許將條件輸入到同一Excel工作簿中的輸入表,但是我需要使其動態化。 例如,在輸入單元格中,我想放置“ = string”和“ <> XX”,其中XX與Variable相同。 這將允許從輸入頁而不是代碼中控制= / <>,並為用戶提供了更大的靈活性以使條件適應他們的情況。
這可能嗎? 我試圖使用評價()函數,但無法使其工作。
任何幫助表示贊賞。
謝謝!
測試輸入:
碼:
Sub Tester()
Dim rw As Range
For Each rw In Range("A2:C10").Rows
If rw.Cells(1) <> "" Then
rw.Cells(3).Value = Eval(rw.Cells(1), rw.Cells(2))
End If
Next rw
End Sub
Function Eval(rngVal As Range, rngCrit As Range)
Dim addr As String, op As String
addr = rngVal.Address(False, False)
op = rngCrit.Value
Eval = rngVal.Parent.Evaluate(addr & op)
End Function
結果:
輸入條件時,您可能需要將單元格設置為“文本'
格式或在'
前面加上'
以防止Excel嘗試將其視為公式
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.