如果条件匹配,则excel vba从另一个工作表复制/粘贴数据

时间:2016-03-13 15:53:07

标签: excel vba

Sheet saskaita faktura Sheet darbinis

跳来寻求帮助。无法使用条件从一张纸到另一张纸获取数据。 我的问题: 我会用例子: 如果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 

2 个答案:

答案 0 :(得分:0)

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 

答案 1 :(得分:0)

我找到了一个解决方案,代码看起来:

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

然后它起作用。