gpt4 book ai didi

excel - 从模板创建工作表

转载 作者:行者123 更新时间:2023-12-02 10:42:55 25 4
gpt4 key购买 nike

我们组织中有大约 100 个部门需要预算。

我有一个包含 11 个工作表的主预算工作簿模板。

  • 第一张工作表是带有各种数据的数据
  • 第 2-11 个工作表是每个部门在创建年度预算时使用的 10 个主要类别

  • 我需要为具有 10 个工作表的每个部门创建一个工作簿。

    资料 工作表, Column C拥有所有 部门编号 会有预算, Column U具有作为 10 个主要费用类别的工作表名称列表 ( 预算类别 )。

    Departments & Worksheet Names

    我需要为每个部门创建每个工作表的副本,并使用帐号和现有工作表名称命名工作表。

    例如:
    111100-Category-A
    111100-Category-B
    111100-Category-C
    111100-Category-D
    111100-Category-E
    111100-Category-F
    111100-Category-G
    111100-Category-H
    111100-Category-I
    111100-Category-J

    我试图用下面的代码遍历每个帐号和工作表名称。

    现在,我得到一个

    Compile Error: For Each may only iterate over a collection object or an array.



    这是我的代码
    Option Explicit
    Sub Add_Sheets()
    Dim TabList As String, wsName As Range, Acct As Range, extraSheet As Worksheet
    With Sheets("Data")
    TabList = .Range("U2:U11")
    For Each wsName In TabList
    Set extraSheet = ThisWorkbook.Worksheets("wsName")
    Application.ScreenUpdating = False
    Set rng = .Range(.[c2], .Cells(Rows.Count, "C").End(xlUp))

    For Each Acct In rng
    extraSheet.Copy After:=Sheets(Sheets.Count)
    ActiveSheet.Name = Acct & "-" & "TabList"
    Next
    Next
    End With
    End Sub

    最佳答案

    您的代码中的错误不仅仅是提到的错误。但是,这是您发现的错误的解决方案:

    Dim TabList As String, wsName As Range, Acct As Range, extraSheet As Worksheet

    这是我发现的另一个问题:
    Set extraSheet = ThisWorkbook.Worksheets(wsname.value)

    关于excel - 从模板创建工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48507428/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com