Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zeilenumbruch abfragen (VBA)

Zeilenumbruch abfragen (VBA)
Bernhard
Hallo,
mit der Formel
If zelle.Font.Bold And InStr(zelle, Chr(10)) Then
zelle.RowHeight = 50
frage ich ab, ob in einer Zelle ein Zeilenumbruch ist, um darüber festzulegen, welche Höhe die Zeile haben soll.
Das klappt prima, aber nun würde ich gerne auch noch abfragen ob eventuell zwei Zeilenumbrüche in der Zelle enthalten sind, wie kann ich das machen?
Grüße
Bernhard
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zeilenumbruch abfragen (VBA)
10.06.2011 11:53:22
Rudi
Hallo
Anzahl= Len(Zelle)-Replace(Zelle, chr(10), "")
Gruß
Rudi
Korrektur
10.06.2011 11:55:27
Rudi
Hallo,
hab ein Len() vergessen.
Anzahl= Len(Zelle)-Len(Replace(Zelle, chr(10), ""))
Gruß
Rudi
AW: Korrektur
10.06.2011 12:04:22
Bernhard
Genial!!
Vielen Dank!
Bernhard
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zeilenumbruch abfragen und RowHeight anpassen in VBA


Schritt-für-Schritt-Anleitung

Um in Excel mit VBA zu überprüfen, ob ein Zeilenumbruch in einer Zelle vorhanden ist und die Zeilenhöhe entsprechend anzupassen, folge diesen Schritten:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.

  2. Füge ein neues Modul hinzu, indem du im Projektfenster mit der rechten Maustaste auf "VBAProject" klickst und "Einfügen" > "Modul" auswählst.

  3. Kopiere den folgenden VBA-Code in das Modul:

    Sub ZeilenumbruchAbfragen()
       Dim zelle As Range
       For Each zelle In Selection
           If zelle.Font.Bold And InStr(zelle, Chr(10)) Then
               zelle.RowHeight = 50
           End If
           ' Abfrage für zwei Zeilenumbrüche
           Dim Anzahl As Long
           Anzahl = Len(zelle) - Len(Replace(zelle, Chr(10), ""))
           If Anzahl >= 2 Then
               zelle.RowHeight = 70 ' Erhöhe die Zeilenhöhe bei zwei Zeilenumbrüchen
           End If
       Next zelle
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Wähle die Zellen aus, die du überprüfen möchtest.

  6. Drücke ALT + F8, wähle ZeilenumbruchAbfragen aus der Liste und klicke auf "Ausführen".


Häufige Fehler und Lösungen

  • Fehler: Zelle wird nicht erkannt

    • Lösung: Stelle sicher, dass du die Zelle(n) korrekt ausgewählt hast, bevor du das Makro ausführst.
  • Fehler: Zeilenhöhe wird nicht angepasst

    • Lösung: Überprüfe, ob die Zellen tatsächlich fetten Text enthalten und Zeilenumbrüche vorhanden sind.

Alternative Methoden

Eine alternative Methode zur Überprüfung von Zeilenumbrüchen in Excel ist die Verwendung von Formeln:

  1. Verwende die Formel =LEN(A1)-LEN(SUBSTITUTE(A1,CHAR(10),"")), um die Anzahl der Zeilenumbrüche in Zelle A1 zu zählen.

  2. Du kannst diese Formel auch in einer Hilfsspalte verwenden, um die Höhe der Zeilen dynamisch zu steuern, obwohl dies weniger flexibel ist als VBA.


Praktische Beispiele

Hier ein praktisches Beispiel, wie du das Makro anpassen kannst:

  • Wenn du möchtest, dass die Zeilenhöhe auf 60 erhöht wird, wenn genau ein Zeilenumbruch vorhanden ist, kannst du die Anpassung so gestalten:

    If Anzahl = 1 Then
       zelle.RowHeight = 60
    End If

Das hilft dir, die Zellenhöhe basierend auf der Anzahl der Zeilenumbrüche präzise zu steuern.


Tipps für Profis

  • Nutze die Option Explicit-Anweisung am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind. Das kann helfen, Fehler frühzeitig zu erkennen.

  • Experimentiere mit der Application.ScreenUpdating-Eigenschaft, um die Leistung deines Makros zu verbessern, indem du Bildschirmaktualisierungen während der Ausführung deaktivierst.

    Application.ScreenUpdating = False
    ' Dein Code hier
    Application.ScreenUpdating = True

FAQ: Häufige Fragen

1. Wie kann ich das Makro anpassen, um mehr als zwei Zeilenumbrüche zu erkennen?
Du kannst die Bedingung im Code anpassen, indem du weitere If-Anweisungen hinzufügst, um die Zeilenhöhe entsprechend zu setzen.

2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, dieser VBA-Code sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen.

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