【问题标题】:Excel - copy cells+macro+VBA from one sheet to another?Excel - 将单元格+宏+VBA从一张纸复制到另一张纸?
【发布时间】:2014-02-07 20:19:01
【问题描述】:

我正在尝试修改我的电子表格,以便当您单击“插入工作表”按钮时,它会将单元格 B38-K38:B52-K52 中的文本、表单、VBA、宏等添加到新工作表和允许用户单击我拥有的“单击此处”按钮并根据需要输入数据。我尝试使用 VBA 脚本执行此操作,但出现错误,因为每次添加工作表时,数字都会增加。增量会解决这个问题还是有其他解决方案?

编辑,解决方法如下:

Sub new_sheet()
    '
    ' new_sheet Macro
    ' Copies the range of B36:L52 (Problems Identified) to a new sheet
    ' Then resizes columns
    ' Keyboard Shortcut: Ctrl+q
    Worksheets.Add after:=Worksheets(Worksheets.Count), Count:=1
    Worksheets("Sheet1").Range("B36:L52").Copy Destination:=ActiveSheet.Range("A1")
    Cells.Select
    Selection.Columns.AutoFit
End Sub

【问题讨论】:

  • 需要更多信息。 “单击此处”按钮现在运行什么代码?你在复制这个按钮吗?代码是否附加到您正在复制的按钮上? “将增加解决此问题”是什么意思。没有足够的信息来回答这个问题 - 请尝试提供足够的信息以便我们为您提供帮助。
  • 抱歉,有点含糊。它有一个“单击此处”按钮,单击该按钮后,您可以输入检查区域,该区域将使用该信息填充单元格 (B39)。代码附加到按钮上,我正在尝试将按钮(及其代码)和单元格复制到新的工作表中。我的意思是增加工作表名称“Sheet++”可能不会出现调试错误,因为我尝试制作的宏正在寻找“sheet2”、“sheet3”等。
  • 我想现在我可以忽略这个按钮,因为它一开始是没有必要的。即使像将表单和一些简单的公式复制到带有宏的新工作表这样简单的事情,它也无法正常工作。它只会粘贴我创建的图像。
  • 如果您的代码在工作表模块中(而不是在常规模块中),那么它应该与工作表一起复制。如果您的代码在工作表模块中,您可以使用Me 而不是(例如)Sheet1 来引用托管运行代码的工作表。

标签: vba excel


【解决方案1】:

一个像这样的简单宏:

ActiveSheet.Copy after:=ActiveSheet
ActiveSheet.Name = "NewSheet"

将复制活动工作表及其中的所有内容,并创建一个名为“NewSheet”的新工作表。会有帮助吗?

【讨论】:

  • 它会,但我将如何只使用来自几个单元格的信息?感谢您的回复。
  • 其实我只是想通了。我使用: Sub new_sheet() ' ' new_sheet Macro ' 将 B36:L52(已识别的问题)的范围复制到新工作表 ' 然后调整列的大小 ' 键盘快捷键:Ctrl+q Worksheets.Add after:=Worksheets(Worksheets.Count) , Count:=1 Worksheets("Sheet1").Range("B36:L52").Copy Destination:=ActiveSheet.Range("A1") Cells.Select Selection.Columns.AutoFit End Sub
  • @gib - 很高兴你明白了。您可能希望添加您的解决方案作为答案,以使未来的访问者受益。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多