【发布时间】:2017-02-09 16:56:52
【问题描述】:
'第一次来这里,感谢您的耐心等待!
我有一个包含多张工作表的工作簿,我需要:
1)选择工作表对(索引和索引+1)
2)将它们复制到新的工作簿中
3) 使用引用单元格中的任何标签(例如 A1)重命名工作表
4)然后对工作簿中的每一对工作表重复(几十对)
由于我对 vba 很陌生(只上过一节课),我很容易感到困惑。到目前为止,我唯一的部分是引用单元格 A1 将工作表重命名为该单元格中的任何文本字符串。其余的我想不通。我认为它与 worksheet.index 或 worksheets(index) 以及某种循环有关,其中 index 添加 2 并在复制之前激活该工作表和下一个工作表:工作表 1 和 2,然后工作表 3 和 4 等.
Private Sub Worksheet_Calculate()
Dim s As String
s = "sheet 1"
If Range("A1").Value <> "" Then
s = Range("A1").Value
End If
ActiveSheet.Name = s
End Sub
按照我的理解,必须检查单元格 A1 以确保它不为空,因为您无法命名具有空值的工作表。在这一点上,其余部分的用法和语法完全超出了我的能力,但我真的很想学习并最终成为这个社区的贡献者。我的工作是全新的,只是兼职工作,所以向我的老板提出解决方案可能意味着我会成为永久性的。因此,非常,非常感谢!!!
【问题讨论】:
-
这些索引表是否以一致的方式命名?您需要编写一些代码来循环遍历工作簿中的所有可用工作表 - 或使用工作表打开工作簿 - 使用要复制到的内容来标识工作表。除非这些表以一致的方式命名,否则您可能会遇到问题。
-
是的,工作表的名称都与总帐帐号一致:xx-xxxx-xxxx-xx。但是,是否有某种命令(方法?)可以根据它们的 INDEX 编号(1、2、3 等)选择工作表?
-
您必须创建一个,但是如果与工作表的名称一致,您可以这样做