【问题标题】:How to add worksheets in an automatic method and named them using a word/letter and a number?如何以自动方法添加工作表并使用单词/字母和数字命名它们?
【发布时间】:2015-12-26 17:41:42
【问题描述】:

根据下图我有一个问题:

有 7 个组,每组有两列,每列之间有一个空白列。

我想为每个组创建一条堆叠线并将图片放在另一张纸上。例如,我想从 A 列和 B 列创建一条堆叠线并放入工作表 X1,然后从 D 列和 E 列创建一条堆叠线并放入工作表 X2 等...是否可以将工作表命名为那种可以放字母“X”和数字的形式?

问题是: 如何创建工作表并用 Xi 命名(如果我有 100 组 2 列,我应该有 100 个名为 X1、X2、X3 的新工作表, ...X100) 然后他们将每一组的堆叠线放在特定的工作表中?

谢谢!

【问题讨论】:

  • sheet.Name = "X" & counter?和你"Generate automatically name of the sheets"关于图表的问题完全一样。
  • 到目前为止您尝试过什么?请向我们展示您的代码,以便我们提供帮助。你不能指望我们为你写一个完整的宏。
  • @takendarkk 0 努力? 0 努力阅读所有 cmets。请在谈论某人之前尽量小心。
  • @takendarkk 再读一遍,然后才试着说些聪明的话
  • 请不要关注这个话题。

标签: excel vba


【解决方案1】:

我已经提供了步骤 -

1) 打开一个 Excel 工作簿 2) 按 Alt + f11,转到插入模块,3) 将代码粘贴到模块中 4) 转到 sheet1 5) 插入形状 示例矩形 6)右键单击形状,您可以找到分配 宏 7) 选择宏,这里是 Macro_Test 8) 现在你可以运行宏了 通过单击形状。形状将充当按钮 9) 运行后,它 会要求你选择一个文件。

请查看代码。它会满足你的要求

    Sub Macro_Test()
        Dim LastCol As Long
        Dim ws As Worksheet
        Dim wb As Workbook
        Dim x As Long
        Dim wsx As Worksheet
        Dim col_num As Long

 MsgBox " Please Select the file"

    filename = Application.GetOpenFilename

    Set wb = Workbooks.Open(filename)

        Set ws = wb.Worksheets("Sheet1")

        col_num = 1


        With ws
                LastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
        End With

        '~ for calculting no of sheet

                x = LastCol / 3


           For i = 1 To x
               wb.Worksheets.Add().Name = "X" & i
               Set wsx = wb.Worksheets("X" & i)

              wsx.Columns(1).Value = ws.Columns(col_num).Value

              ws.Application.CutCopyMode = False
              ws.Application.CutCopyMode = True
              wsx.Application.CutCopyMode = False
              wsx.Application.CutCopyMode = True


           wsx.Columns(2).Value = ws.Columns(col_num + 1).Value

            ws.Application.CutCopyMode = False
            ws.Application.CutCopyMode = True
            wsx.Application.CutCopyMode = False
            wsx.Application.CutCopyMode = True

           col_num = col_num + 3

           Next



        End Sub

【讨论】:

  • 谢谢!请问一个问题。仅当我将需要修改的信息放入宏所在的文件中时,此宏才会运行?是否可以保存一个名为“Macro_test”的宏,并且该宏可以与其他工作簿一起运行?
  • @luli,我已经添加了代码。您需要输入文件名
  • 感谢您的回答。有些东西对我来说不是很清楚。有没有什么方法可以让这个宏为每个 excel 文件运行而不给出我想要修改的文件的路径和文件名?谢谢:)
  • 你的意思是,你会给出文件夹的路径? , 宏应该自动选择 excel 工作簿并对每个工作簿执行此操作?
  • 不,我认为不。我想打开宏文件和另一个具有图片结构的 excel 文件,然后按 ALT+F8 并在该 excel 文件上运行宏。然后我想在另一个具有不同名称和不同路径的 excel 文件上运行这个宏。我认为正确的词是“一般”。我想以一般方式使用此宏,而不依赖于名称或路径。非常感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-26
  • 1970-01-01
相关资源
最近更新 更多