簡體   English   中英

VBA將粘貼列復制到其他工作表中

[英]VBA Copy paste columns in different sheet

我有兩張紙-Latency,TP。 我只需要從“等待時間”復制col M並將其粘貼到“ TP”的col D中,只有當“等待時間” col E具有字符串“ COMPATIBLE”並且col O具有字符串“ Pass”時。

我有以下代碼,但沒有任何結果。

我不確定這是怎么回事:

Sub sbMoveData()
Dim lRow As Integer, i As Integer, j As Integer
'Find last roe in Sheet1
 With Worksheets("Latency")
    lRow = .Cells.SpecialCells(xlLastCell).Row
    j = 1
    For i = 1 To lRow
        If UCase(.Range("E" & i)) = "COMPATIBLE" And UCase(.Range("O" & i)) = "Pass" Then
            .Range("M" & i).Copy Destination:=Worksheets("TP").Range("D" & j)
            j = j + 1
        End If
    Next
End With

結束子

UCase(.Range(“ O”&i))=“ Pass”將始終為假:-)

您永遠都不會匹配UCase(Cell)=“ Pass”,對嗎? 您要么需要具備以下條件:

UCase(.Range("O" & i)) = "PASS"

要么

.Range("O" & i) = "Pass"

嘗試這個

Sub sbMoveData()
Dim lRow As Integer, i As Integer, j As Integer
Dim ws1, ws2 As Worksheet

Set ws1 = ThisWorkbook.Sheets("Latency")
Set ws2 = ThisWorkbook.Sheets("TP")
'Find last roe in Sheet1

lRow = ws1.Cells.SpecialCells(xlLastCell).Row
j = 1
For i = 1 To lRow
    If ws1.Range("A" & i) = "COMPATIBLE" And ws1.Range("B" & i) = "Pass" Then
        ws1.Range("M" & i).Copy Destination:=ws2.Range("D" & j)
        j = j + 1
    End If
Next i

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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