Hallo,
ich bin mit 1 VHS Kurs Laie in VBA und möchte die Namen aller meiner Blätter einer Mappe (ca. 70) in dem 1. Blatt auflisten. Dafür habe ich den nachfolgenden Code hier gegoogelt und auf 25 Zeilen angepasst. Klappt auch.
Aber da ich die Zeilen in Spalte A auf ca. 25 begrenzen möchte und dann weiter in Spalte B Zeile 1-25 und weiter in Spalte C Zeile 1-25 die Namen aufgelistet haben möchte - der Übersichtlichkeit halber, damit ich nicht scrollen muss - brauche ich einen Umbruch.
Wie bekomme ich die Anweisungen für den Umbruch da mit rein?
Sub Blattnamen()
Dim i As Integer
Dim intLastRow As Integer
For i = 1 To ActiveWorkbook.Worksheets.Count
If Sheets(i).Name „Blatt_Namen“ Then
Worksheets(„Blatt_Namen“).Range(„A25“).End(xlUp).Offset(1, 0).Value = Sheets(i).Name
lange Liste auf mehrere Spalten aufteilen.
Hallo Berli,
mein Betreff ist nicht der beste aber näher am Problem. Bessere Betreffs willkommen.
Wie bekomme ich die Anweisungen für den Umbruch da mit rein?
Ich schau gleich ma. Bleib am PC.
Auch an den vom Teilergebnis s.o.
s.o. ? Ich deute das so du hast hier iws. nach Teilergbis angefragt und die wurde geholfen, ist doch Klasse. Und „s.o.“ würde mich nur genauer interessieren wenn es nicht so war wie ich schrieb.
ich würde das wie nachstehend gezeigt versuchen. Okay, so hingeschrieben, nicht getestet, gib halt Feedback was genau da nicht klappt.
Und als Kommentar steht da eine Frage, sag bitte was dazu.
Gruß
Reinhard
Sub Blattnamen()
Dim i As Integer, Spa As Long, Zei As Long
With ActiveWorbook.Worksheets("Blatt\_Namen")
' zu ActiveWorbook, wäre da nicht ThisWorkbook sicherer?
' ist aus der Ferne nicht so zu beurteilen
For i = 1 To ActiveWorkbook.Worksheets.Count
If Sheets(i).Name .Name Then
.Cells(Zei + 1, Spa + 1).Value = Sheets(i).Name
End If
If Zei = 24 Then
Zei = 0
Spa = Spa + 1
End If
Next i
End With
End Sub
danke für deine Mühe. Es hakt jetzt schon nach Zeile „With ActiveWorkbook…“ mit dem Kommentar „Objekt erfoderlich“ Laufzeitfehler 424.
Und zu deiner Frage nach s.o. Damit hatte ich mich nur bei dem Schöpfer des Codes bedanken wollen, den ich gegoogelt hatte, also irgendwo im Internet gefunden und weiß nicht mehr wo.
Bin leider schon bei solchen kleinen Feldermeldungen am ende und weiß nicht, welcher Fehler gemeint ist mit Objekt erforderlich.
LG
Berli
Hallo Reihhard,
den Objekt Fehler habe ich gefunden beim genauen Durchlesen des Codes, bei Workbook fehlte das „k“…
Nun läuft es aber das Ergebnis ist nur die Anzahl der Blätter in Zelle A1.
Ich versuche mal die Codes von dir und mir zu kombinieren.
LG
Berli
den Objekt Fehler habe ich gefunden beim genauen Durchlesen
des Codes, bei Workbook fehlte das „k“…
ja mein Fehler, Mist das verwirrt dich zusätzlich
Nun läuft es aber das Ergebnis ist nur die Anzahl der Blätter
in Zelle A1.
? K.A. welchen genauen Code du jetzt meinst, aber egal.
Ich versuche mal die Codes von dir und mir zu kombinieren.
Kannste gerne machen zum Lernen.
Nachstehend neuer Code von mir, zumindest an paar Blattnamen getestet. Scheint zu funktionieren.
Teste bitte und berichte. Sehr zufrieden bin ich mit meinem Code eh nicht, aber das für später, wichtiger ist daß er bei dir klappt.
Danach kann ich ihn ja immer noch anders codieren.
ich komme doch nicht weiter.
Weiß noch jemand eine Antwort?
Hallo Berli,
2 min vor diesem deinen Beitrag habe ich auch einen Beitrag geschrieben. Gelesen hat ihn noch kein einziger derzeit.
Wieder mal Fehler von mir, ich kündige da Code an und hab vergessen ihn auch zu zeigen
Nachstehend siehst du ihn. Teste ihn mal, „noch jemand“ kannste ja danach immer noch fragen.
Gruß
Reinhard
Sub Blattnamen()
Dim i As Integer, Spa As Long, Zei As Long
' zu ActiveWorbook, wäre da nicht ThisWorkbook sicherer?
' ist aus der Ferne nicht so zu beurteilen
With ActiveWorkbook.Worksheets("Blatt\_Namen")
For i = 1 To ActiveWorkbook.Worksheets.Count
If Sheets(i).Name .Name Then
.Cells(Zei + 1, Spa + 1).Value = Sheets(i).Name
Zei = Zei + 1
End If
If Zei = 24 Then
Zei = 0
Spa = Spa + 1
End If
Next i
End With
End Sub
bin wieder da. Danke für den neuen Code. Habe ich gleich getestet.
Super! Läuft!
Lieben Dank!
Werde ihn auch mal durchgeistigen und auf diesem Wege in Häppchen lernen.