在VBA工程專案裡面雙擊“Sheet2(Sheet2)”開啟程式碼輸入視窗。
在程式碼窗口裡面輸入以下VBA程式程式碼:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) "工作表選定區域發生改變時執行
On Error Resume Next "VBA忽略之後的語句錯誤
Dim i, j As Integer
Set myDocument1 = ThisWorkbook.Worksheets("Sheet1").Range("A3:I1000")
Set myDocument2 = ThisWorkbook.Worksheets("Sheet2")
For i = 3 To 1000 "迴圈3-1000次,即:以下自動填充時間到1000行
For j = 2 To 9 "迴圈2-9次,即:從第2列到第9列
If myDocument2.Cells(i, 1) <> "" Then "如果查詢的單元格不為空值,則查詢表1的內容填充到表2對應的位置
myDocument2.Cells(i, j) = Application.WorksheetFunction.VLookup(myDocument2.Cells(i, 1), myDocument1, j, [0])
End If
If myDocument2.Cells(i, 1) = "" And myDocument2.Cells(i, j) <> "" Then
myDocument2.Cells(i, j) = "" "如果查詢值為空白且查詢填充的行不為空白,則顯示空白
If myDocument2.Cells(i, 1) <> "" And myDocument2.Cells(i, j) = "" Then
myDocument2.Cells(i, j) = "不存在" "如果查詢值不存在,則顯示“不存在”
Next
End Sub
在Sheet2表格上面的A3:A1000單元格輸入查詢值時,同一行的顯示範圍裡面的單元格就會顯示出相應的結果。
在VBA工程專案裡面雙擊“Sheet2(Sheet2)”開啟程式碼輸入視窗。
在程式碼窗口裡面輸入以下VBA程式程式碼:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) "工作表選定區域發生改變時執行
On Error Resume Next "VBA忽略之後的語句錯誤
Dim i, j As Integer
Set myDocument1 = ThisWorkbook.Worksheets("Sheet1").Range("A3:I1000")
Set myDocument2 = ThisWorkbook.Worksheets("Sheet2")
For i = 3 To 1000 "迴圈3-1000次,即:以下自動填充時間到1000行
For j = 2 To 9 "迴圈2-9次,即:從第2列到第9列
If myDocument2.Cells(i, 1) <> "" Then "如果查詢的單元格不為空值,則查詢表1的內容填充到表2對應的位置
myDocument2.Cells(i, j) = Application.WorksheetFunction.VLookup(myDocument2.Cells(i, 1), myDocument1, j, [0])
End If
If myDocument2.Cells(i, 1) = "" And myDocument2.Cells(i, j) <> "" Then
myDocument2.Cells(i, j) = "" "如果查詢值為空白且查詢填充的行不為空白,則顯示空白
End If
If myDocument2.Cells(i, 1) <> "" And myDocument2.Cells(i, j) = "" Then
myDocument2.Cells(i, j) = "不存在" "如果查詢值不存在,則顯示“不存在”
End If
Next
Next
End Sub
在Sheet2表格上面的A3:A1000單元格輸入查詢值時,同一行的顯示範圍裡面的單元格就會顯示出相應的結果。