首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >复制并粘贴到新工作表中的最后一行。

复制并粘贴到新工作表中的最后一行。
EN

Stack Overflow用户
提问于 2016-01-05 15:51:46
回答 1查看 11.1K关注 0票数 0

我目前正在尝试从一个工作表中复制并使用VBA粘贴到一个新的工作表中。但是,我有以下变量

  • 正在复制数据的工作表是动态的。列保持不变,但行每周都在变化。
  • 数据将添加到的新工作表是动态的。列是相同的,但新工作表行每周增加一次(例如,每周700行,下一行800 )。
  • 正在复制和粘贴的列(A和BC)是一致的。
  • 数据应该粘贴在新工作表下一行的A列上

我目前已经想出了下面的代码,但是我不断地得到错误的错误,并且不知道我在哪里出错,因为我是VBA的新手。

代码语言:javascript
运行
复制
 Sub CandP()
'
'

Dim Last_Row As Long

Application.ScreenUpdating = False

Last_Row = Range("A2:BC2" & Rows.Count).End(xlUp).Row
Range("A2:BC2").Copy
Windows("Newsheet.xlsm").Activate
Range("$A2:BC$" & last_row).FillDown

End Sub

感谢所有的帮助,谢谢

EN

回答 1

Stack Overflow用户

发布于 2016-01-05 16:21:38

你可以试试这个:

代码语言:javascript
运行
复制
Option Explicit

    Sub CandP()

    Dim Last_Row1 As Long, Last_Row2 As Long
    Dim WB1 As Workbook, WB2 As Workbook
    Dim ws1 As Worksheet, ws2 As Worksheet

    Set WB1 = ThisWorkbook ' Workbook where you want to copy the data
    Set ws1 = WB1.Sheets("Sheet1") ' Change the name of your Sheet
    Set WB2 = Workbooks.Open("C:\Desktop\vba\Newsheet.xlsm") ' Enter the address of the Workbook you want to paste the data
    Set ws2 = WB2.Sheets("Sheet1") ' Change the name of your Sheet

    Last_Row1 = ws1.Range("A" & Rows.Count).End(xlUp).Row ' Determine the lastrow of the data to copy
    Last_Row2 = ws2.Range("A" & Rows.Count).End(xlUp).Row + 1 ' Determine the next empty row in order to paste the data

    ws1.Range("A2:BC" & Last_Row1).Copy ws2.Range("A" & Last_Row2)

    End Sub
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34615786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档