Clever-Excel-Forum

Normale Version: Überschriften erkennen und zentrieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Excel-VBA

Hallo,

ich möchte gerne Überschriften automatisch zentriert dargestellt haben, also: Wenn in einem Spaltenbereich der Eintrag "X" oder "Y" steht, handelt es sich um eine Überschrift. Diese soll automatisch bereits nach der Eingabe zentriert dargestellt werden, alle anderen Eingaben aber linksbündig.
Wird der Zelleintrag geändert ... z. B. in "A" ... soll wieder eine linksbündige Darstellung erfolgen.

Sicher simple einfach ... aber ich schaffe es nicht.

Danke und lieben Gruss, Elmar
Hallo,

Überschriften stehen üblicherweise in Zeile 1. Wozu also der Aufwand?
Moin!
Ich habe es ebenfalls wohl noch nicht ganz verstanden.
Eine Beispieldatei könnte beim Helfen helfen.

Gruß Ralf
Hallo ...

Beispiel:


Spalte D

Möbel (zentriert)
Tisch (linksbündig)
Stuhl (linksbündig)
...

Fahrzeuge (zentriert)
Auto (linksbündig)
Motorrad (linksbündig)
...

... also wenn in Spalte D Eintrag = "Möbel" oder "Fahrzeuge" ... dann ....

Danke und Gruss, Elmar
Hallo,

Zwischenüberschriften und leere Zeilen gehören zu den 10 Todsünden beim erstellen einer Exceldatei.
Da des Menschen Wille bekanntlich sein Himmelsreich ist, hier mal eine Lösung.
Erweitern darfst Du selbst:

Private Sub Worksheet_Change(ByVal Target As Range)
With Target
  If .Column = 4 And .CountLarge = 1 Then
    If .Text = "Möbel" Or .Text = "Fahrzeuge" Then
      .HorizontalAlignment = xlCenter
      .Font.Bold = True
    Else
      .HorizontalAlignment = xlLeft
      .Font.Bold = False
    End If
  End If
End With
End Sub

Gruß Ralf
Hallöchen,

hier mal auf die Aufgabe angepasst

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
  If .Column = 1 And .CountLarge = 1 Then
    If .Text = "x" Or .Text = "y" Then
      .offset(,3).HorizontalAlignment = xlCenter
      .offset(,3).Font.Bold = True
    Else
      .offset(,3).HorizontalAlignment = xlLeft
      .offset(,3).Font.Bold = False
    End If
  End If
End With
End Sub
Ich glaube, dass mein Code eher der "Beispieldatei" entspricht, André!
:100:
Schließlich wurde aus "X" "Möbel" und aus "einem Spaltenbereich" nun die Spalte D.

Irrtum (nicht) ausgeschlossen. Wink

Gruß Ralf
Halöchen,

durchaus möglich. ich habe das
Zitat:Wenn in einem Spaltenbereich der Eintrag "X" oder "Y" steht, handelt es sich um eine Überschrift. ... Wird der Zelleintrag geändert ... z. B. in "A" ...
als Spalte aufgefasst, wo die x und y stehen bzw. wo mit x oder y gesteuert werden soll, was eine Überschrift ist. Ansonsten bekommt man für 1001 Überschriften einen entsprechend umfangreichen code Smile
(31.10.2020, 15:07)schauan schrieb: [ -> ]Ansonsten bekommt man für 1001 Überschriften einen entsprechend umfangreichen code Smile
Wohl wahr!  Angel
Dies würde ich dann mit einer Hilfstabelle, die alle "Warengruppen" auflistet, lösen.
(Range.Find-Methode nebst If Not Suche Is Nothing Then …)
Seiten: 1 2 3