【问题标题】:Copy a series of cell into multiple worksheets named via a cell将一系列单元格复制到通过单元格命名的多个工作表中
【发布时间】:2015-10-14 21:24:38
【问题描述】:

感谢您花时间查看我的 VBA 宏。我使用此宏的目标是将一行单元格 (e7:i7) 复制到一个复制的工作簿中,该工作簿具有粘贴在工作表中并通过一系列单元格 (c7) 命名的模板。然后使用 (c8) 作为其名称对下一行单元格 (e8:i8) 重复该过程。

我有模板工作表复制工作,我有工作表命名工作。我的问题是将单元格从“工作表”复制到使用(c7)系列作为其名称的新命名工作表。

我得到了

“运行时错误'9': 下标超出范围

感谢您的帮助,因为这是我的第一个 VBA 项目。

Sub NEWSAVINGSTEST1()
'
' NEWSAVINGSTEST1 Macro
'
Dim ws1 As Worksheet
Set ws1 = ThisWorkbook.Worksheets("NEWSAVINGS")

Dim MyCell As Range, MyRange As Range

Set MyRange = Sheets("Master").Range("c7")
Set MyRange = Range(MyRange, MyRange.End(xlDown))

For Each MyCell In MyRange
Sheets("NEWSAVINGS").Select
Sheets("NEWSAVINGS").Copy After:=Sheets(Sheets.Count) 'creates a new worksheet
'ws1.Copy ThisWorkbook.Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = MyCell.Value

ThisWorkbook.Worksheets(i).Select ("Master") ' just select the sheet
Source.Copy
Set MyRange2 = Sheets("Master").Range("e7:l7")
Set MyRange2 = Range(MyRange, MyRange.End(xlDown))
ActiveSheet.Range("d11").Select
ActiveSheet.Paste

Next MyCell

'
End Sub

【问题讨论】:

  • worksheet 必须是工作表中最糟糕的名称 XD
  • 完全正确,我已经改成“大师”了

标签: vba excel runtime-error series


【解决方案1】:

我认为可能是以下原因:

ThisWorkbook.Worksheets(i).Select ("Worksheet")

你实际上想要这样的东西:

ThisWorkbook.Worksheets(Sheets.Count).Select 

【讨论】:

  • 不幸的是它现在给了我一个错误:'424' 它不能正确编译 Source.Copy 命令
  • 您似乎没有将 Source 设置为任何值?完成设置“MyRange2”范围后,也许您应该删除该行并添加“MyRange2.Copy”。我想这取决于您要复制的内容?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多