Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Anzahl der Spalten erkennen

Forumthread: Anzahl der Spalten erkennen

Anzahl der Spalten erkennen
11.03.2004 11:45:04
Armin
Hallo,
ich habe folgenden Beitrag ins Excel Center gestellt. Aber irgendwie kann mir keiner helfen und ich müsste mit der Sache ziemlich dringend etwas arbeiten.

Der liebe Maxe hat mir den unten stehenden Code geschrieben. Dieser Code erstellt eine Kopfzeile für Tabellen. Ich brauche diese Kopfzeile sehr häufig. Das Problem ist aber, dass die Tabellen häufig unterschiedlich viele Spalten haben. Das Makro müsste also so abgeändert werden, dass es selbst erkennt, wieviel gefüllte Spalten die Tabelle hat um die richtige Breite für die Kopfzeile zu bestimmen. Kann mir da jemand helfen?
Danke im Voraus!
Gruß
Armin


Sub Übersicht()
ActiveCell.Range("A1:J2").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
With Selection.Font
.Name = "Futura Bk BT"
.Size = 14
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
Selection.Font.Bold = True
ActiveCell.FormulaR1C1 = "ÜBERSICHT KONZERNFÜHRUNG"
ActiveCell.Offset(2, 0).Range("A1").Select
End Sub

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anzahl der Spalten erkennen
11.03.2004 12:39:07
Waltraud
Du könntest es so machen:
Dim column As Integer
For Each zelle In Worksheets(1).Range("A3:L3")
If zelle.Value <> "" Then
column = column + 1
Else
GoTo weiter
End If
Next zelle
weiter:
Range(Cells(1, 1), Cells(2, column)).Select
Die Zeile: ActiveCell.Range("A1:J2").Select
musst du etnfernen, danach
kannst du deinen Code stehen lassen.
Bei Range("A3:L3") musst du den Bereich eintragen, in dem deine Spaltenüberschriften stehen
Anzeige
AW: Anzahl der Spalten erkennen
11.03.2004 13:02:23
Beni
Hallo Armin,
das sollte funtionieren.
Gruss Beni

Sub Übersicht()
c = ActiveCell.SpecialCells(xlLastCell).Column
With Range(Cells(1, 1), Cells(2, c))
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
.Borders(xlDiagonalDown).LineStyle = xlNone
.Borders(xlDiagonalUp).LineStyle = xlNone
.Borders(xlInsideVertical).LineStyle = xlNone
.Borders(xlInsideHorizontal).LineStyle = xlNone
.Font.Name = "Futura Bk BT"
.Font.Size = 14
.Font.Bold = True
.FormulaR1C1 = "ÜBERSICHT KONZERNFÜHRUNG"
With Range(Cells(1, 1), Cells(2, c)).Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Range(Cells(1, 1), Cells(2, c)).Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Range(Cells(1, 1), Cells(2, c)).Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Range(Cells(1, 1), Cells(2, c)).Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
End With
End Sub

Anzeige
AW: Anzahl der Spalten erkennen
11.03.2004 13:29:48
Armin
Hallo Benni,
bei deinem Makro ist es das gleiche. c ist nicht als Variable definiert!
Gruß
Armin
AW: Anzahl der Spalten erkennen
11.03.2004 13:23:46
Armin
Hallo,
Die Variable "Zelle" ist nicht definiert. Was tun?
Gruß
Armin
AW: Anzahl der Spalten erkennen
11.03.2004 13:26:49
Armin
Hallo
Hallo die Variable "Zelle" ist nicht definiert.
Gruß
Armin
Anzeige
AW: Anzahl der Spalten erkennen
11.03.2004 14:08:25
Waltraud
dim zelle as range
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige