簡體   English   中英

如果條件匹配(但不是+1),excel vba從另一個工作表復制/粘貼數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM