VBA Excel将两个不同工作表中的数据复制到第三个工作表中
我想复制“Sheet1”中的数据($A:$N;可能会波动),选择数据范围并将其粘贴到“Sheet3”中 我还需要从没有第一行的“Sheet2”复制数据(与“Sheet1”的标题相同),并将其粘贴到“Sheet1”的数据下面,该数据现在位于“Sheet3”中VBA Excel将两个不同工作表中的数据复制到第三个工作表中,vba,excel,copy-paste,Vba,Excel,Copy Paste,我想复制“Sheet1”中的数据($A:$N;可能会波动),选择数据范围并将其粘贴到“Sheet3”中 我还需要从没有第一行的“Sheet2”复制数据(与“Sheet1”的标题相同),并将其粘贴到“Sheet1”的数据下面,该数据现在位于“Sheet3”中 Sub CopyPaste() Sheets("PC_VIEWS").Select Range("A1:Q231").Select Selection.Copy Sheets("PC_LTC_VIEWS
Sub CopyPaste()
Sheets("PC_VIEWS").Select
Range("A1:Q231").Select
Selection.Copy
Sheets("PC_LTC_VIEWS").Select
Range("A1").Select
ActiveSheet.Paste
Range("A1").Select
Selection.End(xlDown).Select
Range("A232").Select
Sheets("LTC_VIEWS").Select
Range("A1").Select
Application.CutCopyMode = False
Range("A1:M1264").Select
Selection.Copy
Sheets("PC_LTC_VIEWS").Select
ActiveSheet.Paste
End Sub
我对其他解决方案持开放态度 这个代码就足够了。试试看
Public Sub CopyAndPaste()
Dim firstRowCount, secondRowCount As Integer
'Copy from "PC_VIEWS" sheet.
Sheets("PC_VIEWS").Select
'Getting the last row from "PC_VIEWS" sheet.
firstRowCount = Range("A:Q").SpecialCells(xlLastCell).row
Range("A1:Q" & firstRowCount).Select
Selection.Copy
'Paste to "PC_LTC_VIEWS" sheet.
Sheets("PC_LTC_VIEWS").Select
Range("A1").Select
ActiveSheet.Paste
'Reset clipboard
Application.CutCopyMode = False
'Copy from "LTC_VIEWS" sheet.
Sheets("LTC_VIEWS").Select
'Getting the last row from "LTC_VIEWS" sheet.
secondRowCount = Range("A:Q").SpecialCells(xlLastCell).row
Range("A2:Q" & secondRowCount).Select
Selection.Copy
'Paste to "PC_LTC_VIEWS" sheet.
Sheets("PC_LTC_VIEWS").Select
Range("A" & firstRowCount + 1).Select
ActiveSheet.Paste
'Reset clipboard
Application.CutCopyMode = False
End Sub
这是我录制宏时使用的代码,但是随着PC_视图数据的增长,在A232启动LTC_视图将无法使用子CopyPaste()工作表(“PC_视图”)。选择范围(“A1:Q231”)。选择选择选择。复制工作表(“PC_LTC_视图”)。选择范围(“A1”)。选择活动工作表。粘贴范围(“A1”)。选择选择。结束(xlDown)。选择范围(“A232”)。选择工作表(“LTC\U视图”)。选择范围(“A1”)。选择应用程序。CutCopyMode=False范围(“A1:M1264”)。选择选择。复制工作表(“PC\U LTC\U视图”)。选择活动工作表。粘贴结束子。您可以编辑问题并将代码放入其中,这将允许您格式化它,使其可读。您的问题是什么。这段代码有效吗?我的问题是,当我将第二个工作表粘贴到第一个工作表之后的第三个工作表中时,它会将其粘贴到单元格A232,这是Sheet1范围之后的下一个单元格。但是,我的数据将随着时间的推移而扩展,如果扩展,则Sheet2将覆盖从A232开始的数据。这有意义吗?理想情况下,我想代码选择范围Sheet1-粘贴在Sheet3。选择范围Sheet2,进入数据列A(ctrl+向下箭头,向下箭头)Sheet3,粘贴Sheet2的数据。范围(“A1:Q231”)。选择范围会根据工作表中的数据波动吗?这里有相同的问题:范围(“A2:Q1264”)。选择范围(“A232”)。选择:如果该选择范围(“A1:Q231”)的数据波动,我如何选择下一个单元格?