簡體   English   中英

根據特定的單詞自動將單元格復制到另一個工作表

[英]Automatically Copy Cells to Another Worksheet Based on Specific Words

當單詞“過期”出現在單元格中(在H列中)時,我希望該行中的名稱(在A列中)和日期(在F列中)自動復制並粘貼到另一個工作表(名為HomePage)中並顯示在列C12和E12中。

我有以下代碼,但它剪切並粘貼了整行。 我只想將名稱和日期復制粘貼到我的主頁上。

Private Sub Worksheet_Change (ByVal Target As Range)
  If Target.Column = 8 Then
    If Target.Value = "Overdue" Then
      R = Target.Row
      Rows(R).Cut
      Worksheets("HomePage").Select
      With ActiveSheet
         lastrow = .Cells(.Rows.Count, "C").End(xlUp).Row + 1
         .Cells(lastrow, 1).Select
         .Paste
      End With
    End If
  End If
End Sub

由於只需要兩個單元格,為什么要復制和粘貼? 只需直接分配值即可。

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim R As Long
    If Target.Column = 8 Then
        If Target.Value = "Overdue" Then
            With Sheets("Homepage")
                R = .Cells(.Rows.Count, 3).End(xlUp).Row + 1
                .Cells(R, 3) = Target.Offset(0, -7) ' Column C = Column A
                .Cells(R, 5) = Target.Offset(0, -2) ' Column E = Column F
            End With
        End If
    End If
End Sub

根據您的敘述

我希望該行中的名稱(在A列中)和日期(在F列中)自動復制並粘貼到另一個工作表(名為HomePage)中,並顯示在C12和E12列中。

將以下代碼放在工作表代碼窗格中

Private Sub Worksheet_Change(ByVal Target As Range)
    With Target
        If .Column = 8 And .Value = "Overdue" Then
            Sheets("Homepage").Range("C12").Value = Range(.row, "A")
            Sheets("Homepage").Range("E12").Value = Range(.row, "F")
        End If
    End With
End Sub

暫無
暫無

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

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