![](/img/trans.png)
[英]excel vba to copy/paste data fron another sheet if conditions match (but not +1)
[英]excel vba to copy/paste data fron another sheet if conditions match
希望在這里尋求幫助。 使用條件無法從一張紙到另一張紙獲取數據。 我的問題:我將使用示例:如果sheet1單元格d22 = sheet2列B單元格3(4; 5; 6; ..),則sheet1單元格P3數據復制並粘貼到sheet2列C單元格3(4; 5; 6; ..)
如果我單擊按鈕,這應該發生。
先感謝您。 大流士
添加代碼:
Sub bandymas()
If Sheets("Sàskaita-Faktûra").Range("d22") = Sheets("Darbinis").Range("D:D") Then
Sheets("Sàskaita-Faktûra").Range("P3").Copy
Sheets("Darbinis").Range ("O:O")
PasteSpecial Paste:=xlPaste, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End If
End Sub
P是來源,o是目的地,您可以調整
Sub bandymas()
LastRow = Sheets("Darbinis").Cells(Sheets("Darbinis").Rows.Count, "D").End(xlUp).Row
dim i
i=0
for each c in Sheets("Darbinis").Range("D1:D" & lastRow)
i=i+1
If Sheets("Sàskaita-Faktûra").Range("d22") = c Then
Sheets("Darbinis").Range("O" & i) = Sheets("Sàskaita-Faktûra").Range("P3").value
endif
next
End Sub
我找到了一個解決方案,代碼看起來像:
Private Sub CommandButton2_Click()
Range("P3").Select
Selection.Copy
Range("P5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
lastrow = Sheets("Darbinis").Cells(Sheets("Darbinis").Rows.Count, "D").End(xlUp).Row
Dim i
i = 0
For Each c In Sheets("Darbinis").Range("D1:D" & lastrow)
i = i + 1
If Sheets("Sàskaita-Faktûra").Range("d22") = c Then
Sheets("Darbinis").Range("O" & i) = Sheets("Sàskaita-Faktûra").Range("P5").Value
End If
Next
End Sub
然后按預期工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.