Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 创建工作簿中所有工作表名称的列表_Vba_Excel - Fatal编程技术网

Vba 创建工作簿中所有工作表名称的列表

Vba 创建工作簿中所有工作表名称的列表,vba,excel,Vba,Excel,我有一段代码,它在工作簿中创建一个新工作表,并在一列中列出所有工作表名称,这很好,但我希望它在每个工作表名称之间保留27个空行 Dim xWs As Worksheet On Error Resume Next Application.DisplayAlerts = False xTitleId = "All Sheet Names" Application.Sheets(xTitleId).Delete Application.Sheets.Add.index Set xWs =

我有一段代码,它在工作簿中创建一个新工作表,并在一列中列出所有工作表名称,这很好,但我希望它在每个工作表名称之间保留27个空行

Dim xWs As Worksheet

On Error Resume Next

Application.DisplayAlerts = False

xTitleId = "All Sheet Names"

Application.Sheets(xTitleId).Delete

Application.Sheets.Add.index

Set xWs = Application.ActiveSheet

xWs.Name = xTitleId

For i = 2 To Application.Sheets.Count
    xWs.Range("A" & (i - 1)) = Application.Sheets(i).Name
Next
例如,现在它是如何列出它们的

这就是我希望它列出它们的方式,每个表名之间有空格

OP表示它们之间有27行空白,因此下一行将向下28行


尝试执行
xWs.Range(“A”和(i-1)).Offset(27,0)=Application.Sheets(i).Name
它只是将列表下移到第27行:(
xWs.Range(“A”和(i-2)*27)+1)
ScottCraner写的东西。另外,下一次出错时的
将在以后继续
会咬你的屁股。不要这样做,在尝试删除不存在的工作表时,使用其他方法避免出错。@ScottCraner
code xWs.Range(“a”&((i-2)*27)+1)=Application.Sheets(i)。Name
这有效。
For i = 2 To Application.Sheets.Count

    xWs.Range("A" & ((i - 1) * 28) - 27) = Application.Sheets(i).Name

Next