簡體   English   中英

動態滿足條件時將數據從一張表復制到另一張表

[英]Copy data from one sheet to another when condition is met dynamically

我想連續遍歷所有工作表,除了名為“摘要”和“計數”的工作表以根據條件提取數據(如果單元格值為“A”,在 D6)。 之后,它將復制某些單元格值(單元格 F3 處的日期)並將它們粘貼到“計數”工作表中。 我面臨的問題是我似乎無法將我想要的數據粘貼到“計數”工作表中。

謝謝你! 任何輸入/建議將不勝感激!

我的代碼是:

Private Sub CommandButton1_Click()

Dim sh As Worksheet

Dim erow As Long

For Each sh In ActiveWorkbook.Worksheets

    Select Case sh.Name

    Case Is = "Summary", "Count"

    Case Else
    If sh.[B10] = "Wash the whole vehicle" And sh.[D6].Value = "A" Then
        sh.[F3].Copy
        sh.Cells(11, 4).Copy

        sh("Count").Activate
        lastRowRpt = sh("Count").Range("A" & Rows.Count).End(xlUp).Row
        sh("Count").Range("A" & lastRowRpt + 1).Select
        ActiveSheet.Paste

    End If
End Select
Next sh
End Sub

sh("Count")不是有效的語法,而Worksheets("Count")

除此之外,您不需要Select / Activate除 go 以外的任何東西,具有完全限定的范圍

如下:

Dim sh As Worksheet, shCount As Worksheet ' add 'shCount' as a worksheet variable
Set shCount = Worksheets("Count") ' set 'shCount' variable to worksheet "Count"


For Each sh In ActiveWorkbook.Worksheets

    Select Case sh.Name

        Case Is = "Summary", "Count"

        Case Else
            If sh.Range("D6").Value = "A" Then sh.Range("F3").Copy shCount.Cells(Rows.Count, 1).End(xlUp).Offset(1)
    End Select
Next

如果您的代碼如上所示,我假設粘貼到工作表Count的值是空白或除 `Range("F3") 之外的其他值。

你有兩個復制代碼行。

sh.[F3].Copy
sh.Cells(11, 4).Copy

如果您需要復制兩個值,請嘗試復制然后粘貼每個值。 或者,如果您只需要復制范圍F3嘗試注釋掉第二個復制行( sh.Cells(11, 4).Copy )。

暫無
暫無

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

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