[英]How to search a certain value and copy the results to other sheet with VBA
[英]How to search a specific value in 2 tables and copy to a new sheet using VBA
我正在努力實現以下目標。
使用一個唯一標識符搜索另一張參考表,並將整行打印到一張新紙上。
我被困在第二個for循環中,遍歷一列以獲得唯一標識符。
希望有人可以幫助我。
_____編輯_____
我覺得我的要求太含糊了,所以我決定把它寫成圖畫。
Private Sub CommandButton2_Click()
Worksheets("Dependency Table").Range("A2:K99").ClearContents
a = Worksheets("sheet1").Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To a
If ActiveCell.value = Worksheets("Dependency Matrix").Cells(i, 1).value Then
For k = 1 To 5
If Worksheets("Dependency Matrix").Cells(Selection.Row, k).value = Worksheets("Sheet1").Cells(i, 4).value Then
Worksheets("Sheet1").Rows(i).Copy
Worksheets("Dependency Table").Activate
b = Worksheets("Dependency Table").Cells(Rows.Count, 1).End(xlUp).Row
Worksheets("Dependency Table").Cells(b + 1, 1).Select
ActiveSheet.Paste
Worksheets("Dependency Table").Activate
End If
Next
End If
Next
Application.CutCopyMode = False
End Sub
看來您可能已經在第二個for循環中反轉了比較單元格中的行
代替:
If Worksheets("Dependency Matrix").Cells(Selection.Row, k).value = Worksheets("Sheet1").Cells(i, 4).value Then
嘗試:
If Worksheets("Dependency Matrix").Cells(i, k).value = Worksheets("Sheet1").Cells(Selection.Row, 4).value Then
而且,正如Nathan在問題中所說的那樣,您不必選擇/復制/粘貼,而只需將新范圍設置為等於for語句內列中的范圍。
Worksheets("Dependency Table").Cells(b + 1 &":"& b+1).value = Worksheets("Sheet1").Rows(i &":"& i).value
我已經弄清楚了如何實現我的預期。 盡管該方法可能有點初級。
決定不執行destrange.value=sourcerange.value
。 只需快速修復即可完成此工作。
Private Sub CommandButton2_Click()
Worksheets("Dependency Table").Range("A2:K99").ClearContents
a = Worksheets("Dependency Matrix").Cells(Rows.Count, 1).End(xlUp).Row
c = Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row
d = Worksheets("Dependency Matrix").Cells(1, Columns.Count).End(xlUp).Column
For i = 1 To a
If ActiveCell.Value = Worksheets("Dependency Matrix").Cells(i, 1).Value Then
For k = 1 To 30
For r = 1 To c
If Worksheets("Dependency Matrix").Cells(i, k).Value = Worksheets("Sheet1").Cells(r, 4).Value Then
Worksheets("Sheet1").Rows(r).Copy
Worksheets("Dependency Table").Activate
b = Worksheets("Dependency Table").Cells(Rows.Count, 1).End(xlUp).Row
Worksheets("Dependency Table").Cells(b + 1, 1).Select
ActiveSheet.Paste
End If
Next
Next
End If
Next
Application.CutCopyMode = False
ActiveSheet.Range("a:k").RemoveDuplicates Columns:=Array(3), Header:=xlGuess
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.