182 Aufrufe
Gefragt in Tabellenkalkulation von ulinet Einsteiger_in (42 Punkte)
Hallo,

ich habe eine Tabelle mit über 100 Spalten. Kann ich z.B. per Makro jede Spalte ab Zeile 1 bis zur letzten gefüllten Zelle der Spalte als Tabelle formatieren, damit ich das nicht händisch machen muss?

viele Grüße

ulinet

4 Antworten

+1 Punkt
Beantwortet von beverly_ Experte (3.3k Punkte)

Hi,

das kannst du mit folgendem Makro realisieren:

Sub ListObjectsErstellen()
    Dim lngLetzte As Long
    Dim intLetzte As Integer
    Dim intSpalte As Integer
    intLetzte = IIf(IsEmpty(Cells(1, Columns.Count)), Cells(1, Columns.Count).End(xlToLeft).Column, Columns.Count)
    For intSpalte = 1 To intLetzte
        lngLetzte = IIf(IsEmpty(Cells(Rows.Count, intSpalte)), _
            Cells(Rows.Count, intSpalte).End(xlUp).Row, Rows.Count)
        ActiveSheet.ListObjects.Add(SourceType:=xlSrcRange, _
            Source:=Range(Cells(1, intSpalte), Cells(lngLetzte, intSpalte)), _
            XlListObjectHasHeaders:=xlYes).Name = Cells(1, intSpalte)
    Next intSpalte
End Sub

Als Name für die Tabelle wird der Inhalt der Zeile 1 jeder Spalte verwendet.

Bis später, Karin

0 Punkte
Beantwortet von ulinet Einsteiger_in (42 Punkte)
Hallo Karin,

leider klappt es nicht - ich bekomme die Visual Basic Fehlermeldung "400" ... muss ich noch etwas ändern?

Viele Grüße

ulinet
+1 Punkt
Beantwortet von beverly_ Experte (3.3k Punkte)
ausgewählt von ulinet
 
Beste Antwort

Hi,

in meiner Mappe tritt der Fehler nicht auf, deshalb kann ich leider nichts dazu sagen - dieser Fehler kann nämlich sehr vieles bedeuten. Du musst schon mal eine Beispielmappe hochladen, in der eben dieser Fehler auftritt.

Bis später, Karin

0 Punkte
Beantwortet von ulinet Einsteiger_in (42 Punkte)
Hallo Karin,

nun hat es funktioniert - ich hab nochmal eine neue Tabelle angelegt und Excel neugestartet. Wunderbar, vielen lieben Dank! :-)

Viele Grüße

ulinet
...