Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA Excel将两个不同工作表中的数据复制到第三个工作表中_Vba_Excel_Copy Paste - Fatal编程技术网

VBA Excel将两个不同工作表中的数据复制到第三个工作表中

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

我想复制“Sheet1”中的数据($A:$N;可能会波动),选择数据范围并将其粘贴到“Sheet3”中

我还需要从没有第一行的“Sheet2”复制数据(与“Sheet1”的标题相同),并将其粘贴到“Sheet1”的数据下面,该数据现在位于“Sheet3”中

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”)的数据波动,我如何选择下一个单元格?