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

EXCEL VBA mehrere Zeilen ansprechen

Forumthread: EXCEL VBA mehrere Zeilen ansprechen

EXCEL VBA mehrere Zeilen ansprechen
07.12.2014 12:22:29
Olaf

Hallo
wie kann ich mehrere Zeilen ansprechen?
Oder diesen Code zusammenfassen??

Sub Formatieren()
Rows("17").RowHeight = 80
Rows("29").RowHeight = 80
Rows("41").RowHeight = 80
Rows("53").RowHeight = 80
Rows("65").RowHeight = 80
Rows("77").RowHeight = 80
End Sub
Die Beispiele die ich mit Range gefunden habe funktionieren leider nicht :-(

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: EXCEL VBA mehrere Zeilen ansprechen
07.12.2014 12:25:12
Hajo_Zi

Option Explicit
Sub Formatieren()
Dim LoI As Long
For LoI = 17 To 77 Step 12
Rows(LoI).RowHeight = 80
Next LoI
End Sub


AW: EXCEL VBA mehrere Zeilen ansprechen
07.12.2014 12:28:48
Olaf
Ja gut jetzt ist hier momentan der Abstand der zeilen 12 aber was ist wenn die Zeilen wirklich wahllos auseinander liegen
etwas wie rows("2":"5") oder ähnlich geht nicht?

Anzeige
AW: EXCEL VBA mehrere Zeilen ansprechen
07.12.2014 12:30:27
Hajo_Zi
gut ich sehe nicht den Zusammenhang zum ersten Beitrag, da ging es um eine Zeile und Abstabnd 12 Zeilen.

AW: EXCEL VBA mehrere Zeilen ansprechen
07.12.2014 12:36:56
Olaf
dann eben so
Sub Formatieren()
Rows("17").RowHeight = 80
Rows("21").RowHeight = 80
Rows("30").RowHeight = 80
Rows("33").RowHeight = 80
Rows("44").RowHeight = 80
Rows("46").RowHeight = 80
End Sub
kann man das nach Rows("17";"21").RowHeight = 80 oder ähnlich umschreiben

Anzeige
AW: EXCEL VBA mehrere Zeilen ansprechen
07.12.2014 12:41:36
Gerd L
Hallo Olaf,
so ähnlich:
Range("17:17,29:29,41:41,53:53,65:65,70:70").RowHeight = 80
Gruß Gerd

AW: EXCEL VBA mehrere Zeilen ansprechen
07.12.2014 12:54:36
Olaf
da bekomme ich bei excel 2010 einen Laufzeitfehler 1004

VBA-Bereich aus mehreren Zeilen
07.12.2014 16:57:17
Erich G.
Hi Olaf,
Gerds Lösung funzt bei mir (Excel 2010) problemslos. Gibt's bei dir einen Fehlertext?
Hier noch eine Variante:
Union(Rows(17), Rows(29), Rows(41), Rows(53), Rows(65), Rows(70)).RowHeight = 80
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Excel VBA: Mehrere Zeilen ansprechen und formatieren


Schritt-für-Schritt-Anleitung

Um mehrere Zeilen in Excel mit VBA anzusprechen, kannst Du eine Schleife verwenden oder sie direkt im Code angeben. Hier sind die Schritte:

  1. Öffne das Excel-Dokument und drücke ALT + F11, um den VBA-Editor zu öffnen.

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

  3. Kopiere den folgenden Code in das Modul:

    Sub Formatieren()
       Dim LoI As Long
       For LoI = 17 To 77 Step 12
           Rows(LoI).RowHeight = 80
       Next LoI
    End Sub
  4. Schließe den VBA-Editor und führe das Makro aus.

Dieser Code passt die Zeilenhöhe der Zeilen von 17 bis 77 in Schritten von 12 an.


Häufige Fehler und Lösungen

  • Laufzeitfehler 1004: Dieser Fehler tritt auf, wenn Du versuchst, einen Bereich anzusprechen, der nicht existiert. Stelle sicher, dass die Zeilen, die Du ansprechen möchtest, in Deinem Arbeitsblatt vorhanden sind.

  • Syntaxfehler: Achte darauf, dass Du die richtige Syntax verwendest. Zum Beispiel funktioniert Rows("2:5") nur für zusammenhängende Zeilen, nicht für mehrere nicht zusammenhängende Zeilen.


Alternative Methoden

Neben der Schleife gibt es auch andere Methoden, um mehrere Zeilen auszuwählen und zu formatieren:

  1. Verwendung von Range:

    Range("17:17,29:29,41:41,53:53,65:65").RowHeight = 80
  2. Union-Methode:

    Union(Rows(17), Rows(29), Rows(41), Rows(53), Rows(65)).RowHeight = 80

Diese Methoden sind nützlich, wenn Du spezifische nicht zusammenhängende Zeilen ansprechen möchtest.


Praktische Beispiele

Hier sind einige praktische Beispiele, die Du verwenden kannst:

  • Mehrere Zeilen mit unterschiedlichen Höhen anpassen:

    Sub UnterschiedlicheHöhen()
       Rows("17").RowHeight = 80
       Rows("21").RowHeight = 60
       Rows("30").RowHeight = 50
    End Sub
  • Zeilenhöhe für eine Liste anpassen:

    Sub ListeFormatieren()
       Dim i As Long
       For i = 1 To 10
           Rows(i).RowHeight = 30
       Next i
    End Sub

Tipps für Profis

  • Nutze VBA-Kommentare, um Deinen Code verständlicher zu machen. Beispiel:

    ' Setze die Höhe für die spezifischen Zeilen
    Rows("17").RowHeight = 80
  • Teste Deinen Code schrittweise, um Fehler frühzeitig zu erkennen und zu beheben.

  • Halte Deinen Code modular, indem Du häufige Aufgaben in separate Subroutinen auslagerst.


FAQ: Häufige Fragen

1. Wie kann ich zufällige Zeilen in VBA ansprechen?
Du kannst die Union-Methode verwenden, um nicht zusammenhängende Zeilen auszuwählen.

2. Was tun bei Laufzeitfehlern?
Überprüfe die Zeilenreferenzen und stelle sicher, dass sie im aktuellen Arbeitsblatt existieren.

3. Gibt es eine Möglichkeit, mehrere Zeilen mit einer einzigen Zeile VBA-Code anzupassen?
Ja, Du kannst die Range- oder Union-Methoden verwenden, um mehrere Zeilen in einer Zeile zu bearbeiten.

4. Ist es möglich, Zeilenhöhe dynamisch anzupassen?
Ja, Du kannst die Zeilenhöhe basierend auf dem Inhalt oder anderen Kriterien anpassen.

5. Welche Excel-Versionen unterstützen diese VBA-Funktionen?
Die meisten dieser Funktionen sind in Excel 2007 und späteren Versionen verfügbar.

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