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

VBA Zeilenhöhe =0 wenn in Spalte B...

Forumthread: VBA Zeilenhöhe =0 wenn in Spalte B...

VBA Zeilenhöhe =0 wenn in Spalte B...
Konrad
Hallo zusammen,
letzte Woche habe ich von Herrn Herber die CD´s erhalten, zum Leitwesen meiner Frau. Ich beschäftige mich wohl mehr mit der CD, als mit ihr. Pech für die.
Jetzt suche ich ein VBA um in einem Tabellenblatt per Makro Zeilenhöhe auf Null setzen.
Ich bin gerade dabei, meinem ehemaligen Ausbilder unter die Arme zu greifen.
Er teilt derzeit die Azubis in den einzelenen Abteilungen von Hand ein. Seine Excelkenntinisse =0 :-).
Soweit habe ich jetzt alles geschafft. Aber eine Sache möchte ich noch haben.
Erklärung:
In einem Tabellenblatt "Personenbezogene_Daten_pflegen" stehen ab Zeile 10 alle Azubis.
Anfangen tut die Liste mit dem vierten und damit letzten Lehrjahr.
Neue sollen dann immer wieder drunter geschrieben werden.
In Spalte B steht das Lehrjahr, was sich im August 2011 automatisch um 1 erhöht. Ein fünftes Lehrjahr gibt es aber nicht. Azubi ist nun Geselle.
Da des Ausbilders Kenntnisse Null sind, möchte ich gerne eine Makro haben, was sagt:
Gesuchtes Makro:
1. Alle Zeilen ab Zeile 10, sollen auf Zeilenhöhe =0 gesetzte werden, wenn der Wert in Spalte B10:B(Ende) größer =4 ist.
2. Damit er aber auch später die ehemaligen Azubis ansehen kann, sollte auch ein Makro da sein, was wieder alle auf Zeilenhöhe =20 setzt.
3. Das Highligt wäre, weitere Makros : zeige nur Lehrjahr 1, nur Lehrjahr 2 usw.
Autofilter kann ich, würde die Makros aber gerne per Buttons ausführen, sicher einfacher für einen Excel Unwissenden.
Ich sage jetzt schon mal danke für die Mühe
Marcy
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA Zeilenhöhe =0 wenn in Spalte B...
08.02.2011 09:46:32
Hajo_Zi
Hallo marcy,
benutze den Autofilter und zeichne es mit dem Makrorecorder auf.

AW: VBA Zeilenhöhe =0 wenn in Spalte B...
08.02.2011 10:57:39
Konrad
Hallo Hajo,
manchmal ist die Lösung einfacher wie gedacht.
Aber wie kann ich die Auswahlmöglichkeit auf diese eine Tabellenblatt eingrenzen?
Gerne würde ich auf anderen Tabellenblättern die selben Kürzel verwenden, bzw. da soll nichts passieren, wenn STRG+... betätigt wird.
Gruß Marcy
Anzeige
AW: VBA Zeilenhöhe =0 wenn in Spalte B...
08.02.2011 11:00:34
Hajo_Zi
Hallo marcy,
als erste Zeile
If ActiveSheet.Name "Tabelle1" Then Exit Sub
Gruß Hajo
AW: VBA Zeilenhöhe =0 wenn in Spalte B...
08.02.2011 11:29:49
Konrad
Oh Hajo,
vielen Dank.
Denke mit der Aufzeichnung kann man sich VBA ein wenig selber aneignen.
Habe so gerade mein Drucker gesprengt, habe ein Makro zum Druck einen markierten Bereichs aufgenommen.
Beim Versuch hatte ich dann irgendwie ein Endlosschleife, nach dem 20igsten Druck habe ich dann die ESC Taste betätigt :-).
War auch mal ein Erfahrung wert.
Denke nur so gehts.
Marcy
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

VBA Zeilenhöhe in Excel anpassen


Schritt-für-Schritt-Anleitung

Um die Zeilenhöhe in Excel per VBA-Makro anzupassen, folge diesen Schritten:

  1. Öffne die Excel-Datei, in der Du das Makro erstellen möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Klicke auf "Einfügen" und wähle dann "Modul", um ein neues Modul zu erstellen.

  4. Füge den folgenden Code in das Modul ein:

    Sub SetzeZeilenhoehe()
       Dim ws As Worksheet
       Set ws = ThisWorkbook.Sheets("Personenbezogene_Daten_pflegen")
       Dim i As Long
    
       For i = 10 To ws.Cells(ws.Rows.Count, "B").End(xlUp).Row
           If ws.Cells(i, 2).Value >= 4 Then
               ws.Rows(i).RowHeight = 0
           Else
               ws.Rows(i).RowHeight = 20
           End If
       Next i
    End Sub
  5. Um die Zeilenhöhe wieder auf 20 zu setzen, kannst Du einen weiteren Sub erstellen:

    Sub SetzeZeilenhoeheZurueck()
       Dim ws As Worksheet
       Set ws = ThisWorkbook.Sheets("Personenbezogene_Daten_pflegen")
       ws.Rows("10:" & ws.Cells(ws.Rows.Count, "B").End(xlUp).Row).RowHeight = 20
    End Sub
  6. Speichere Dein Makro und schließe den VBA-Editor.

Um die Makros auszuführen, kannst Du Schaltflächen in Excel hinzufügen, die diese Makros aufrufen.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 9: Index außerhalb des Bereichs"

    • Lösung: Stelle sicher, dass das Tabellenblatt "Personenbezogene_Daten_pflegen" existiert und richtig benannt ist.
  • Fehler: "Die Zeilenhöhe kann nicht auf 0 gesetzt werden"

    • Lösung: Überprüfe, ob Du die Zeilenhöhe auf 0 setzen möchtest. Manchmal kann es sinnvoller sein, die Zeilen auszublenden.

Alternative Methoden

Wenn Du nicht mit VBA arbeiten möchtest, kannst Du auch die Autofilter-Funktion nutzen, um nur bestimmte Zeilen anzuzeigen. Du kannst die Zeilen dann manuell ausblenden oder die Höhe anpassen.

  1. Wähle die Spalte B aus.
  2. Gehe zu "Daten" > "Filtern" und aktiviere den Autofilter.
  3. Filtere nach Lehrjahr 4 und blende die entsprechenden Zeilen aus.

Praktische Beispiele

  • Beispiel 1: Zeilen mit Lehrjahr 4 und höher ausblenden.
  • Beispiel 2: Ein Makro, das nur die Zeilen für Lehrjahr 1 anzeigt:

    Sub ZeigeLehrjahr1()
       Dim ws As Worksheet
       Set ws = ThisWorkbook.Sheets("Personenbezogene_Daten_pflegen")
       Dim i As Long
    
       For i = 10 To ws.Cells(ws.Rows.Count, "B").End(xlUp).Row
           If ws.Cells(i, 2).Value = 1 Then
               ws.Rows(i).EntireRow.Hidden = False
           Else
               ws.Rows(i).EntireRow.Hidden = True
           End If
       Next i
    End Sub

Tipps für Profis

  • Nutze Fehlerbehandlungsroutinen in Deinem VBA-Code, um unerwartete Probleme zu vermeiden.
  • Experimentiere mit der Aufzeichnung von Makros, um den VBA-Code besser zu verstehen und anzupassen.
  • Verwende Schaltflächen oder Formen in Excel, um die Ausführung Deiner Makros zu vereinfachen.

FAQ: Häufige Fragen

1. Wie kann ich das Makro schneller ausführen? Du kannst Tastenkombinationen für Deine Makros festlegen, um sie schneller zu starten.

2. Was passiert, wenn ich die Zeilenhöhe auf 0 setze? Die Zeilen werden unsichtbar, aber die Daten bleiben weiterhin in der Zelle vorhanden. Du kannst sie wieder sichtbar machen, indem Du die Zeilenhöhe zurücksetzt.

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