在不使用选择/激活的情况下,将工作表名称复制并粘贴到另一个不活动的工作表中

汤姆·比斯利

我试图通过不使用select重写代码来加快代码的速度。

我有三个选项卡,我想将选项卡名称粘贴到相应选项卡中显示的数据旁边,而不选择该选项卡。

但是,我发现在运行代码时,例如在工作表1上,例如,它适用于工作表1,但是当它尝试对工作表2执行相同操作时,它失败,并显示错误“运行时错误'1004':应用程序-定义或对象定义的错误。”

请在下面查看我的代码。

Sub Create_Reports_NEWWWW()
Application.ScreenUpdating = False

Dim wb As Workbook
Dim LastRow As Integer
Dim LastColumn As Integer

Set wb = ActiveWorkbook

'copy sheet name to right of raw data on each sheet
LastRow = wb.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
LastColumn = wb.Sheets(1).Cells(4, Columns.Count).End(xlToLeft).Column
wb.Sheets(1).Range(Cells(4, LastColumn + 1), Cells(LastRow, LastColumn + 1)) = wb.Sheets(1).Name

LastRow = wb.Sheets(2).Cells(Rows.Count, 1).End(xlUp).Row
LastColumn = wb.Sheets(2).Cells(4, Columns.Count).End(xlToLeft).Column
wb.Sheets(2).Range(Cells(4, LastColumn + 1), Cells(LastRow, LastColumn + 1)) = wb.Sheets(2).Name

LastRow = wb.Sheets(3).Cells(Rows.Count, 1).End(xlUp).Row
LastColumn = wb.Sheets(3).Cells(4, Columns.Count).End(xlToLeft).Column
wb.Sheets(3).Range(Cells(4, LastColumn + 1), Cells(LastRow, LastColumn + 1)) = wb.Sheets(3).Name
汤姆·K

这里是:

Sub Create_Reports_NEWWWW()
Application.ScreenUpdating = False

Dim wb As Workbook
Dim lastRow As Integer
Dim lastColumn As Integer

Set wb = ActiveWorkbook

With wb.Sheets(1)
'copy sheet name to right of raw data on each sheet
lastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
lastColumn = .Cells(4, .Columns.Count).End(xlToLeft).Column
.Range(.Cells(4, lastColumn + 1), .Cells(lastRow, lastColumn + 1)) = .Name
End With

With wb.Sheets(2)
lastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
lastColumn = .Cells(4, .Columns.Count).End(xlToLeft).Column
.Range(.Cells(4, lastColumn + 1), .Cells(lastRow, lastColumn + 1)) = .Name
End With

With wb.Sheets(3)
lastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
lastColumn = .Cells(4, .Columns.Count).End(xlToLeft).Column
.Range(.Cells(4, lastColumn + 1), .Cells(lastRow, lastColumn + 1)) = .Name
End With

End Sub

您不能Cells在非活动工作表上使用。您需要使用wb.Sheets(2).Cells(x,y)

With这段代码中-blocks只是为了节省空间。每个.Range或都.Cells指例如,wb.Sheets(1)并且可以看作是wb.Sheets(1).Cells(x,y)..

顺便说一句:停止使用Selectand很好Activate,您也应该避免使用ActiveWorkbookor ActiveWorksheet这是非常不可靠的,而且您永远不会知道用户会做什么。;)

高温超导

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在不使用选择/激活的情况下,将工作表名称复制并粘贴到另一个不活动的工作表中

来自分类Dev

Excel:创建一个宏以将活动选择复制并粘贴到另一个工作表中

来自分类Dev

使用Google工作表脚本时,如何在不创建新工作表副本的情况下将电子表格的工作表复制到另一个电子表格中?

来自分类Dev

将具有公式的范围复制/粘贴到另一个工作表

来自分类Dev

通过 VBA 将值复制并粘贴到另一个工作表

来自分类Dev

复制特定单元格并粘贴到另一个工作表中

来自分类Dev

VBA 复制范围值并粘贴到另一个工作表中

来自分类Dev

将具有一个工作表中的值的动态变量列复制并粘贴到另一个工作表中

来自分类Dev

VBA:如果工作簿中的工作表名称等于从用户窗体中选择的组合框值,则复制该工作表并将其粘贴到另一个工作簿中

来自分类Dev

如何将一个工作表中的数据粘贴到另一个工作表的更改数据下?

来自分类Dev

如何在不使其成为活动工作表的情况下刷新另一个工作表上的数据透视表

来自分类Dev

清除 VBA 中另一个工作表中的过滤器后,将数据复制并粘贴到新工作表中

来自分类Dev

VBA循环将值粘贴到另一个工作表中

来自分类Dev

将数据从多个工作簿的最后一行复制并粘贴到另一个工作簿中的工作表

来自分类Dev

如何在不选择工作表的情况下将整个列粘贴到excel vba中

来自分类Dev

如果值匹配,如何复制并粘贴到另一个工作表-Excel VBA

来自分类Dev

将公式复制到另一个工作表并将其作为值粘贴到特定列

来自分类Dev

VBA-如何将列中的最后一个值复制并粘贴到另一个工作表

来自分类Dev

将特定单元格从一个工作表复制并粘贴到另一个工作表

来自分类Dev

复制列中的特定单元格并粘贴到另一个工作表中

来自分类Dev

复制一个工作表中的单元格范围,并将其作为值而不是公式粘贴到另一个工作表中

来自分类Dev

更加优雅地遍历工作表查找,复制和粘贴到另一个工作表

来自分类Dev

Excel-复制选定的单元格并粘贴到另一个工作表中列的末尾

来自分类Dev

从一个工作表中复制数据并粘贴到另一工作表中的相关行上

来自分类Dev

Google表格+ Apps脚本,从一个工作表复制/粘贴到另一个工作表,但粘贴到特定列(B)中的第一个空单元格中

来自分类Dev

在列中搜索1,然后将整个行粘贴到另一个工作表中?

来自分类Dev

如何根据活动工作表中的特定行和列号将文本从活动工作表的列复制并粘贴到另一工作表

来自分类Dev

比较值并将相应的值粘贴到另一个工作表中

来自分类Dev

在一个工作表中复制一行并粘贴在另一个工作表中

Related 相关文章

  1. 1

    在不使用选择/激活的情况下,将工作表名称复制并粘贴到另一个不活动的工作表中

  2. 2

    Excel:创建一个宏以将活动选择复制并粘贴到另一个工作表中

  3. 3

    使用Google工作表脚本时,如何在不创建新工作表副本的情况下将电子表格的工作表复制到另一个电子表格中?

  4. 4

    将具有公式的范围复制/粘贴到另一个工作表

  5. 5

    通过 VBA 将值复制并粘贴到另一个工作表

  6. 6

    复制特定单元格并粘贴到另一个工作表中

  7. 7

    VBA 复制范围值并粘贴到另一个工作表中

  8. 8

    将具有一个工作表中的值的动态变量列复制并粘贴到另一个工作表中

  9. 9

    VBA:如果工作簿中的工作表名称等于从用户窗体中选择的组合框值,则复制该工作表并将其粘贴到另一个工作簿中

  10. 10

    如何将一个工作表中的数据粘贴到另一个工作表的更改数据下?

  11. 11

    如何在不使其成为活动工作表的情况下刷新另一个工作表上的数据透视表

  12. 12

    清除 VBA 中另一个工作表中的过滤器后,将数据复制并粘贴到新工作表中

  13. 13

    VBA循环将值粘贴到另一个工作表中

  14. 14

    将数据从多个工作簿的最后一行复制并粘贴到另一个工作簿中的工作表

  15. 15

    如何在不选择工作表的情况下将整个列粘贴到excel vba中

  16. 16

    如果值匹配,如何复制并粘贴到另一个工作表-Excel VBA

  17. 17

    将公式复制到另一个工作表并将其作为值粘贴到特定列

  18. 18

    VBA-如何将列中的最后一个值复制并粘贴到另一个工作表

  19. 19

    将特定单元格从一个工作表复制并粘贴到另一个工作表

  20. 20

    复制列中的特定单元格并粘贴到另一个工作表中

  21. 21

    复制一个工作表中的单元格范围,并将其作为值而不是公式粘贴到另一个工作表中

  22. 22

    更加优雅地遍历工作表查找,复制和粘贴到另一个工作表

  23. 23

    Excel-复制选定的单元格并粘贴到另一个工作表中列的末尾

  24. 24

    从一个工作表中复制数据并粘贴到另一工作表中的相关行上

  25. 25

    Google表格+ Apps脚本,从一个工作表复制/粘贴到另一个工作表,但粘贴到特定列(B)中的第一个空单元格中

  26. 26

    在列中搜索1,然后将整个行粘贴到另一个工作表中?

  27. 27

    如何根据活动工作表中的特定行和列号将文本从活动工作表的列复制并粘贴到另一工作表

  28. 28

    比较值并将相应的值粘贴到另一个工作表中

  29. 29

    在一个工作表中复制一行并粘贴在另一个工作表中

热门标签

归档