[英]excel vba to copy/paste data fron another sheet if conditions match
[英]excel vba to copy/paste data fron another sheet if conditions match (but not +1)
幾乎解決了問題,但仍然需要幫助。 這是代碼:
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")
endif
next
End Sub
如果 Sheets("Darbinis").Range("D1:D") 中的值相同,則一切都相同但不加 +1。
先感謝您。 大流士
我找到了一個解決方案,由於 P3 單元格中的常規公式增加了 +1,但是如果我首先執行粘貼值移動並更改源位置然后它可以工作,代碼看起來:
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
然后它按原樣工作。
無法真正弄清楚出了什么問題! 錯誤消息或工作但不符合預期?
不確定是否有必要,但您的變量 lastRow & i 是整數。 我會將它們轉換為字符串以用於范圍引用:即來自
for each c in Sheets("Darbinis").Range("D1:D" & lastRow)
到
for each c in Sheets("Darbinis").Range("D1:D" & CSTR(lastRow))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.