多個條件
回答
有代碼中的一些問題。將來,請張貼實際的代碼(不是截圖)。
- 小心你的if語句中的「And」與「&」。
- 「.value」沒有「.values」在你的變數中。
- 「Dim as string」,因爲我們正在處理單元格。
- 「工作表」。不是「工作表」。
- 我不認爲你需要一個「設置」這些。 (可能是錯誤的)
請嘗試下面的代碼,它適用於我。您可能需要修改寫入「匹配」工作表的行。
Sub find()
Dim a As String
Dim b As String
Dim c As String
Dim d As String
a = Worksheets("sheet1").Range("a1").Value
b = Worksheets("sheet2").Range("a1").Value
c = Worksheets("sheet1").Range("b1").Value
d = Worksheets("sheet2").Range("b1").Value
If a = b And c = d Then
Worksheets("match").Range("A65536").End(xlUp).Offset(1, 0).Value = c
Worksheets("match").Range("A65536").End(xlUp).Offset(0, 1).Value = c
End If
End Sub
變量a到d可能是數字。除非有人知道他們是文字,否則他們最好被宣佈爲變體。 「Set」關鍵字必須與對象一起使用,例如範圍。 'Set a = Worksheets(「sheet1」)。Range(「a1」)。Value'將導致一個錯誤「Object required」,因爲'.Value'不是一個對象。 Set a = Worksheets(「sheet1」)。如果'a'被聲明爲一個範圍,範圍(「a1」)''將把範圍對象賦值給變量'a'。當兩者都是範圍時比較'a = b'可能是可行的,因爲Value屬性是範圍對象的默認值,但它是非常糟糕的語法。 – Variatus
'c'需要保留爲'Range'對象,這樣使用'c.Offset(0,2).Value'的OP分配才能工作(您的代碼只需使用'c'設置最終分配) – YowE3K
好點@Variatus。我正在閱讀我的[範圍對象](http://www.excel-easy.com/vba/range-object.html),因爲它已經有一段時間了。 – primohacker
- 1. 多個條件
- 2. 多個條件
- 3. 多個條件
- 4. 多個條件
- 5. 多個條件
- 6. 多個條件
- 7. 多個where條件
- 8. 與多個條件
- 9. mvc3多個條件
- 10. 與多個條件
- 11. Ifelse多個條件
- 12. 與多個條件
- 13. XSLT多個條件
- 14. 多個條件4
- 15. 多個條件WHERE
- 16. MySQL多個條件
- 17. 多個條件JOIN
- 18. Python:np.with多個條件
- 19. 與多個條件
- 20. 多個IF條件
- 21. jQuery多個條件
- 22. 由多個條件
- 23. 多個WHEN條件?
- 24. 與多個條件
- 25. 與多個條件
- 26. 多個條件linq
- 27. if條件中的多個條件
- 28. 條件格式:多個條件
- 29. 多個條件在玉條件
- 30. 休眠條件查詢多個條件
請不要發佈您的代碼的屏幕截圖。將代碼粘貼到問題中,突出顯示並使用'{}'按鈕進行格式化。你需要使用'如果a = b和c = d然後'。 '&'是VBA中的連接運算符。 –