我有下面的代碼的麻煩了相當數量:VBA測試兩個值,如果是不同的,複製
Sub TestEmail()
Dim i As Long
Dim LastRow As Long
Dim a As Worksheet
Dim b As Worksheet
Dim strText
Dim ObjData As New MSForms.DataObject
Set a = Workbooks("Book2").Worksheets(1)
Set b = Workbooks("Book1").Worksheets(1)
LastRow = a.Cells(Rows.Count, "A").End(xlUp).Row
For i = 2 To LastRow
If Not IsError(Application.Match(a.Cells(i, 7).Value, b.Columns(3), 0)) And IsError(Application.Match(a.Cells(i, 4).Value, b.Columns(11), 0)) Then
a.Range("D" & i).Copy
ObjData.GetFromClipboard
strText = Replace(ObjData.GetText(), Chr(10), "")
b.Range("K" &).Value = b.Range("K" &).Value & "/" & strText
End If
Next i
End Sub
我面臨兩個問題,一是有我難住了,另一種是由於缺乏的知識:
IF之後的行應該檢查兩個工作簿中的兩個值(數字)是否匹配,以及兩個其他值(文本)是否匹配。如果全部都是true,那麼它必須從Book2中複製一個值並將其添加到book1中的單元格。
的問題是:
-The宏似乎並沒有當值匹配或不承認。
- 在「End If」之前的最後一行,我不知道如何告訴excel將文本複製到第二個檢查中不匹配的單元格中。
如果我不夠清楚,我很抱歉,這很難解釋。
我希望有一位專家知道如何使這項工作。
在此先感謝
您正在使用'如果不是條件1和條件2',所以你說如果它不符合這兩個條件,那麼你運行代碼。你想要做的是嵌套如果語句https://stackoverflow.com/questions/34852883/vba-nested-if-statement然而,一個是'如果'和另一個'如果不是' – danieltakeshi
@danieltakeshi我改爲嵌套如果聲明和它似乎爲我的第一個問題做了訣竅。非常感謝你! – PaulRey
你在第二個問題上的目標是什麼?你能舉個例子嗎?您現在正在做的是使用value_from_Book1_cell/value_from_Book2_cell更改Book1「K#」中的值。用Chr替換空白(10) – danieltakeshi