Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
556to560
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
556to560
556to560
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro anpassen

Makro anpassen
28.01.2005 16:04:54
Fritz
Hallo VBA-Spezialisten,
mit dem nachfolgenden Makro wird ermittelt, ob in der Arbeitsmappe Tabellen enthalten sind, deren Name lediglich aus einer Zahl besteht. Beim Aktivieren einer bestimmten Tabelle werden diese Tabellennamen (aufsteigend sortiert) in die Zeile 5 beginnend in der Zelle A5 eingetragen.
Mein Problem: Das Ganze funktioniert offensichtlich nur, solange die Tabellenbezeichnungen aus einstelligen Zahlen bestehen. Ich möchte aber, dass auch zweistellige Zahlen (10 bis 99)berücksichtigt werden.
Wie muss das Makro geändert werden?
Vielen Dank für eure Hilfe.

Private Sub Worksheet_Activate()
Dim sh As Integer
Dim lc As Integer
Rows(5).ClearContents
lc = 1
For sh = 1 To Sheets.Count
If Len(Sheets(sh).Name) = 1 Then
Cells(5, lc) = Sheets(sh).Name
lc = lc + 1
End If
Next sh
End Sub

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro anpassen
R@iner
Hi,
probier mal so:

Private Sub Worksheet_Activate()
Dim sh As Integer
Dim lc As Integer
Rows(5).ClearContents
lc = 1
For sh = 1 To Sheets.Count
If Len(Sheets(sh).Name) = 1 Or Len(Sheets(sh).Name) = 2 Then
Cells(5, lc) = Sheets(sh).Name
lc = lc + 1
End If
Next sh
End Sub

Gruß Rainer
AW: Makro anpassen
Fritz
Hallo Rainer,
funktioniert prima.
Vielen Dank!
Gruß
Fritz
Danke für die Rückmeldung o. T.
R@iner
AW: Makro anpassen
Viet
Hallo
ändere den Vergleich
If Len(Sheets(sh).Name) = 1 Then
Schreibe If Len(Sheets(sh).Name) kleiner als 3 Then
Gruss
Danke für die Hilfe! o.T.
Fritz
AW: Makro anpassen
28.01.2005 16:22:12
Peter
Hallo Fritz
so wird es gehen, wobei auch geprüft wird, ob die Blattnamen nur aus Ziffern bestehen.
Gruß Peter


Private Sub Worksheet_Activate()
Dim sh As Integer
Dim lc As Integer
Rows(5).ClearContents
lc = 1
    For sh = 1 To Sheets.Count
        If IsNumeric(Sheets(sh).Name) And _
           Len(Sheets(sh).Name) < 3 Then
            Cells(5, lc) = Sheets(sh).Name
            lc = lc + 1
        End If
    Next sh
End Sub


Anzeige
AW: Makro anpassen
Fritz
Hallo Peter,
auch Dir vielen Dank für die Hilfe.
Da ich von VBA praktisch (noch) nichts verstehe, bin ich für jede Unterstützung dankbar.
Ich werde auch Deinen Vorschlag testen und hoffe anhand der unterschiedlichen Lösungsansätze nach und nach VBA besser verstehen zu lernen.
Gruß
Fritz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige