首页 > 解决方案 > 如何从单独的工作簿创建工作表名称列表并使用 VBA 创建列表

问题描述

我正在尝试创建一个列表,该列表将根据我正在处理的文件而改变,因此我可以使用它在另一个工作表中创建索引。

这是我用来用工作表名称填充列的方法,但我不知道如何将其转换为名为“SheetList”的列表。我在 VBA 方面的经验是我在尝试修改我在 StackOverflow 上找到的内容时学到的。

Private Sub CommandButton1_Click()
   
Dim myValue As Variant
Dim y As Workbook
Dim x As Workbook

myValue = InputBox("Enter File Name to OPEN IDM Quicksheet e.g. 123.xlsm")

Set y = Application.ActiveWorkbook
Set x = Workbooks(myValue)
    
For i = 2 To x.Sheets.Count
    y.ActiveSheet.Range("A" & i).Value = x.Sheets(i).Name
Next i

End Sub

标签: excelvba

解决方案


嘿,我假设SheetList应该在 y 中,然后:

' Create "SheetList" sheet in the end of workbook y
y.Sheets.Add(After:=Sheets(Sheets.Count)).Name = "SheetList"
Dim ys As Worksheet
Set ys = y.Sheets(y.Sheets.Count)

' The worksheet names in x will be listed, starting from 2nd row
For i = 2 To x.Sheets.Count + 1
    ys.Range("A" & i).Value = x.Sheets(i - 1).Name
Next i

推荐阅读