簡體   English   中英

將特定的單元格復制到另一個工作表

[英]Copy specific cells to another sheet

我有2張紙(2017年和2018年)在Excel中的工作簿。

我想從表格2017中獲取某些單元格,然后在同一行的特定單元格中輸入特定值時將其復制到表格2018。

例如:在工作表2017中的單元格A2中,如果輸入了“ X”,我希望將單元格B2,C2和G2復制到工作表2018中。在工作表2018中,應將它們復制到下一個空行並從中刪除表格2017。依此類推,2017年中A列的每一行都有“ X”。

有人可以幫助我解決VBA的這種頭痛嗎?

試試這個代碼

 Private Sub Worksheet_Change(ByVal Target As Range) Dim e As Variant Dim lr As Long Dim r As Long If Target.Count = 1 And Target.Column = 1 Then With Sheets("2018") lr = .Cells(Rows.Count, 2).End(xlUp).Row + 1 r = Target.Row If Target = "X" Then Application.EnableEvents = False For Each e In Array("B", "C", "G") .Range(e & lr) = Range(e & r) Range(e & r).ClearContents Next e Application.EnableEvents = True End If End With End If End Sub 

如果需要使用所有行的按鈕來實現,則可以使用此代碼

 Sub Test() Dim ws As Worksheet Dim e As Variant Dim lr As Long Dim r As Long Set ws = ThisWorkbook.Sheets("2017") With Sheets("2018") For r = 1 To ws.Cells(Rows.Count, 2).End(xlUp).Row If ws.Cells(r, 1) = "X" Then lr = .Cells(Rows.Count, 2).End(xlUp).Row + 1 For Each e In Array("B", "C", "G") .Range(e & lr) = ws.Range(e & r) ws.Range(e & r).ClearContents Next e End If Next r End With End Sub 

或者如果您使用過濾器方法會更好

暫無
暫無

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

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