2016-08-04 17 views
1

Ich habe diesen Code, der ein neues Blatt in der Arbeitsmappe erstellt und alle Blattnamen in einer Spalte auflistet, die gut funktionieren, aber ich möchte 27 leere Zeilen zwischen jedem Blattnamen lassenErstellen Sie eine Liste aller Blattnamen in der Arbeitsmappe

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 

Beispiel ist dies, wie es sie jetzt listet enter image description here

Und das ist, wie ich es ihnen mit den leeren Räumen zwischen den einzelnen Blattnamen auflisten möchten enter image description here

+0

Versuchen Sie, 'xWs.Range ("A" & (i - 1)). Offset (27,0) = Application.Sheets (i) .Name' – BruceWayne

+0

Es bewegte sich nur die Liste bis Zeile 27 :( – luke

+5

'xWs.Range (" A "& ((i-2) * 27) +1)' –

Antwort

2

Das OP sagte 27 leere Zeilen zwischen ihnen, so dass die nächste Zeile 28 Zeilen nach unten sein wird.

enter image description here

For i = 2 To Application.Sheets.Count 

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

Next