Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeilenhöhe in Abhängigkeit vom Zellinhalt

Forumthread: Zeilenhöhe in Abhängigkeit vom Zellinhalt

Zeilenhöhe in Abhängigkeit vom Zellinhalt
06.06.2016 10:46:11
Christian
Hallo Zusammen,
ich habe folgendes Problem, das ich selbst nicht gelöst bekomme: Ich habe eine Liste mit potentiell 1000 Zeilen, die aber nicht stets alle gefüllt sind. Der Übersichtlichkeit halber möchte ich gerne die Zellhöhe dann verändern, wenn in der darüberliegenden Zeile in der Spalte Q das Wort "Overall" zu finden ist. Und nur eben diese (darunterliegende) soll dann in der Höhe verändert werden. Das Tabellenblatt ist dynamisch - das heißt diese Höhenanpassung sollte bei Veränderungen im Tabellenblatt überprüft werden. Wer kann mir hier mit einer Lösung helfen, die nicht jedes Mal einige Sekunden an Rechenzeit verbraucht?
Danke!

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zeilenhöhe in Abhängigkeit vom Zellinhalt
06.06.2016 11:37:12
UweD
Hallo
du könntest einmalig (per Makro) die Höhen setzten
und dann per Zellüberwachung immer nur die eine Zelle neu prüfen...
- Rechtsclick auf den Tabellenblattreiter
- Code anzeigen
- Diesen Code dort reinkopieren

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim IntH As Integer, IntN As Integer
IntH = 30
IntN = 15
With Target
If .Column = 17 Then 'Spalte Q
If .Count = 1 Then
If .Value = "Overall" Then
.Offset(1).RowHeight = IntH
Else
.Offset(1).RowHeight = IntN
End If
Else
MsgBox "bitte nur eine Zelle bearbeiten"
End If
End If
End With
End Sub

zusätzlich für das erste Prüfen einmal dieses Makro laufen lassen
gehört in ein Normales Modul

Option Explicit
Sub Overall_ZH()
Dim IntH As Integer, IntN As Integer, Z
IntH = 30
IntN = 15
For Each Z In Columns(17).SpecialCells(xlCellTypeConstants, 2)
If Z = "Overall" Then
Z.Offset(1).RowHeight = IntH
Else
Z.Offset(1).RowHeight = IntN
End If
Next
End Sub
Gruß UweD
Über Rückmeldungen würde ich mich freuen

Anzeige
AW: Zeilenhöhe in Abhängigkeit vom Zellinhalt
06.06.2016 12:57:47
Christian
Hallo Uwe,
zunächst einmal vielen Dank für Deine Hilfe. Leider sind die Ergebnisse in Q das Resultat einer Formel, so dass das Makro so nicht funktioniert. Was muss ich ändern, damit es klappt?
Abermals danke und beste Grüße
Christian

AW: Zeilenhöhe in Abhängigkeit vom Zellinhalt
06.06.2016 13:27:52
UweD
Hi
das einmalige Makro wäre dann so...
Sub Overall_ZH()
Dim IntH As Integer, IntN As Integer, Z
IntH = 30
IntN = 15
For Each Z In Columns(17).SpecialCells(xlCellTypeFormulas, 3)
If Z = "Overall" Then
Z.Offset(1).RowHeight = IntH
Else
Z.Offset(1).RowHeight = IntN
End If
Next
End Sub

Wenn es einfache Formeln sind, deren Ursprungszellen z.B. in der gleichen Zeile liegen, dann könnte man Diese als Event zur Prüfung nehmen. Sonst wird es schwierig und die gesamte Spalte Q muss jedesmal geprüft werden.
Wie sieht die Datei denn aus?
LG UweD

Anzeige
AW: Zeilenhöhe in Abhängigkeit vom Zellinhalt
06.06.2016 14:11:08
Christian
Hi,
funktioniert leider nicht. Die Formeln sind das Ergebnis eines Wverweises, der die Daten aus einem anderen Tabellenblatt holt. Ändern sich die Variablen oben in den Eingaben, verändern sich die Zeilen so, dass "Overall" in den Zeilen "verrutscht". Daher ja die Idee, immer die Zeile unter einem "Overall" größer zu machen, um die Übersichtlichkeit zu erhöhen.

Anzeige
AW: Zeilenhöhe in Abhängigkeit vom Zellinhalt
06.06.2016 14:30:59
Werner
Hallo Christian,
da wäre jetzt eine Beispieldatei gut, wie Uwe schon geschrieben hat.
Hast du vielleicht verbundene Zellen im Tabellenblatt?
Gruß Werner

AW: Zeilenhöhe in Abhängigkeit vom Zellinhalt
06.06.2016 15:21:29
Christian
Ich bekomme das Ding leider nicht unter 1,8 MB... in der Spalte Q ist die Formel in jeder Zelle..
=WENN($B23="";"";WVERWEIS(Q$19;Datenaufbereitung!$AH$7:$AAY$10000;SVERWEIS(Vorgangsübersicht!$B23; Datenaufbereitung!$A$9:$AAY$10000;Datenaufbereitung!$AG$6;FALSCH);FALSCH))
Wenn das Ergebnis davon "Overall" ist, soll die nächste Zeile dementsprechend höher sein.
Hilft das irgendwie?
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Zeilenhöhe in Abhängigkeit vom Zellinhalt anpassen


Schritt-für-Schritt-Anleitung

Um die Zeilenhöhe in Excel dynamisch anzupassen, wenn in der darüberliegenden Zeile in Spalte Q das Wort "Overall" steht, kannst du die folgenden Schritte befolgen. Diese Anleitung setzt voraus, dass du mit Excel 2016 oder höher arbeitest.

  1. Öffne den VBA-Editor:

    • Rechtsklicke auf den Tabellenblatt-Reiter, wo du die Anpassung vornehmen möchtest.
    • Wähle „Code anzeigen“.
  2. Füge den folgenden Code ein:

    Option Explicit
    Private Sub Worksheet_Change(ByVal Target As Range)
       Dim IntH As Integer, IntN As Integer
       IntH = 30
       IntN = 15
       With Target
           If .Column = 17 Then 'Spalte Q
               If .Count = 1 Then
                   If .Value = "Overall" Then
                       .Offset(1).RowHeight = IntH
                   Else
                       .Offset(1).RowHeight = IntN
                   End If
               Else
                   MsgBox "Bitte nur eine Zelle bearbeiten"
               End If
           End If
       End With
    End Sub
  3. Füge das einmalige Makro hinzu:

    • Gehe zu einem normalen Modul und füge den folgenden Code ein:
      Option Explicit
      Sub Overall_ZH()
      Dim IntH As Integer, IntN As Integer, Z
      IntH = 30
      IntN = 15
      For Each Z In Columns(17).SpecialCells(xlCellTypeConstants, 2)
         If Z = "Overall" Then
             Z.Offset(1).RowHeight = IntH
         Else
             Z.Offset(1).RowHeight = IntN
         End If
      Next
      End Sub
  4. Führe das Makro aus:

    • Starte das Makro „Overall_ZH“, um die Zeilenhöhen einmalig einzustellen.

Häufige Fehler und Lösungen

  • Fehler: Das Makro funktioniert nicht: Stelle sicher, dass die Daten in Spalte Q tatsächlich das Wort "Overall" enthalten und dass die Zellen nicht leer sind.

  • Fehler: Die Zeilenhöhe ändert sich nicht: Überprüfe, ob du das korrekte Tabellenblatt ausgewählt hast und dass das Makro im richtigen Modul eingefügt wurde.

  • Fehler: Formeln in Spalte Q: Wenn die Werte in Spalte Q das Ergebnis einer Formel sind, ändere den Code im einmaligen Makro wie folgt:

    For Each Z In Columns(17).SpecialCells(xlCellTypeFormulas, 3)

Alternative Methoden

Falls du keine VBA-Makros verwenden möchtest, kannst du die Zeilenhöhe auch manuell anpassen. Allerdings ist dies nicht dynamisch und erfordert regelmäßige Aktualisierungen. Eine weitere Möglichkeit ist die Verwendung von bedingter Formatierung, um visuelle Hinweise zu geben, wenn "Overall" in einer Zelle steht.


Praktische Beispiele

Angenommen, du hast folgende Daten in Spalte Q:

Q
Overall
Overall
Overall

In diesem Fall wird die Zeilenhöhe der Zeilen unter den "Overall"-Vermerken auf 30 gesetzt, während alle anderen auf 15 bleiben.


Tipps für Profis

  • Optimierung der Performance: Wenn du eine große Datenmenge hast, könntest du zusätzlich prüfen, ob die Berechnung auf manuell gesetzt ist, um die Performance zu verbessern.

  • Verwendung von Event-Triggern: Überlege, ob du den Code so erweitern kannst, dass er auch auf andere Änderungen im Blatt reagiert. Das kann die Übersichtlichkeit weiter erhöhen.


FAQ: Häufige Fragen

1. Kann ich auch andere Kriterien verwenden?
Ja, du kannst die Bedingung im Code ändern, um auf andere Werte oder Texte zu reagieren.

2. Was ist, wenn ich viele Zellen gleichzeitig ändern möchte?
Der aktuelle Code ist für Einzelzellen gedacht. Du müsstest den Code entsprechend anpassen, um mehrere Zeilen gleichzeitig zu berücksichtigen.

3. Funktioniert das auch in Excel Online?
Leider funktionieren VBA-Makros nicht in Excel Online. Du benötigst die Desktop-Version von Excel, um diese Funktionalität zu nutzen.

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