Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Range zusammensetzen

Forumthread: Range zusammensetzen

Range zusammensetzen
18.11.2002 14:27:20
Pascal Rehfeldt
Ich habe 4 Variablen die zusammen meine Range ergeben die geändert werden muss. Zwei der Variablen sind strings, die anderen beiden Integers. Wenn ich die nun einfach mit einem & verbinde und bei Range() einsetze funktioniert das nicht. Auch wenn ich die ganzen Variablen in einer Range Variablen zusammenfüge funktioniert das nicht.

Wie kann ich also meine Range aus einzelnen Variablen zusammenbauen

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: Range zusammensetzen
18.11.2002 14:30:32
PeterW
Hallo Pascal,

den Text musst Du in Zahlen umwandeln, schau Dir mal CInt an.

Gruß
Peter

Re: Range zusammensetzen
18.11.2002 14:48:34
Pascal Rehfeldt
Und wie funktioniert das genau?
Eigentlich geht es darum, eine Zeile zu markieren um den umrandung der zeile zu markieren. Die Variablen sind folgene:
Start (string)
Ende (string)
i (integer)
Anzeige
Re: Range zusammensetzen
18.11.2002 15:00:24
PeterW
Hallo Pascal,

lass uns den Weg anders gehen, was steht in Start, Ende und i und welcher Bereich soll damit markiert werden.

Gruß
Peter

Re: Range zusammensetzen
18.11.2002 15:25:33
Pascal Rehfeldt
Ich habe das Problem nun so gelöst:
Range(.Cells(i, Start), .Cells(i, Ende)).Borders(xlEdgeBottom). _
LineStyle = xlDot

Vorher habe ich noch den Inhalt von Start und Ende geändert, trotzdem danke für die Hilfe :-)

Anzeige
;
Anzeige

Infobox / Tutorial

Range aus Variablen in Excel zusammenstellen


Schritt-für-Schritt-Anleitung

Um eine Range in Excel VBA aus mehreren Variablen zusammenzusetzen, gehe wie folgt vor:

  1. Definiere die Variablen: Du benötigst zwei Strings für den Start- und Endbereich sowie einen Integer für die Zeile, die markiert werden soll.

    Dim Start As String
    Dim Ende As String
    Dim i As Integer
  2. Setze die Variablenwerte: Weise den Variablen Werte zu, die dem gewünschten Bereich entsprechen.

    Start = "A"
    Ende = "D"
    i = 1
  3. Erstelle die Range: Nutze die Range-Methode und übergebe die Variablen.

    Range(Cells(i, Start), Cells(i, Ende)).Borders(xlEdgeBottom).LineStyle = xlDot
  4. Führe das Skript aus: Achte darauf, dass dein Code in einem geeigneten Modul oder direkt im Excel VBA-Editor ausgeführt wird.


Häufige Fehler und Lösungen

  • Fehler: "Typ nicht korrekt" bei der Verwendung von Strings in der Range.

    • Lösung: Stelle sicher, dass die Strings in die richtigen Zellreferenzen umgewandelt werden. Verwende die Funktion CInt für Integer-Werte.
  • Fehler: Range wird nicht gefunden.

    • Lösung: Überprüfe, ob die Variablen Start und Ende gültige Spaltenbezeichnungen sind und ob i eine gültige Zeile repräsentiert.

Alternative Methoden

Wenn die obige Methode nicht funktioniert, kannst du auch die Union-Methode verwenden, um mehrere Bereiche zusammenzufassen. Hier ein Beispiel:

Dim rng As Range
Set rng = Union(Range("A" & i), Range("B" & i), Range("C" & i), Range("D" & i))
rng.Borders(xlEdgeBottom).LineStyle = xlDot

Diese Methode erlaubt es dir, mehrere Zellen zu kombinieren und gleichzeitig zu formatieren.


Praktische Beispiele

Hier sind zwei praktische Beispiele zur Verwendung von Range mit Variablen:

  1. Markiere eine Zeile:

    Dim Start As String: Start = "A"
    Dim Ende As String: Ende = "E"
    Dim i As Integer: i = 2
    Range(Cells(i, Start), Cells(i, Ende)).Interior.Color = RGB(255, 255, 0) ' Gelbe Füllung
  2. Doppelte Rahmenlinie:

    Dim Start As String: Start = "B"
    Dim Ende As String: Ende = "C"
    Dim i As Integer: i = 3
    Range(Cells(i, Start), Cells(i, Ende)).Borders.LineStyle = xlDouble

Tipps für Profis

  • Verwende Konstanten: Definiere Konstanten für häufig verwendete Zellreferenzen, um die Lesbarkeit deines Codes zu verbessern.
  • Fehlerbehandlung: Implementiere On Error Resume Next, um mögliche Laufzeitfehler zu handhaben, ohne dass dein Makro abbricht.
  • Optimiere die Performance: Schalte Bildschirmaktualisierungen mit Application.ScreenUpdating = False aus, während dein Makro läuft, um die Ausführungsgeschwindigkeit zu erhöhen.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Zeilen gleichzeitig formatieren?
Du kannst eine Schleife verwenden, um über mehrere Zeilen zu iterieren und die Formatierung darauf anzuwenden.

2. Was ist der Unterschied zwischen Range und Cells?
Range verwendet Zelladressen (z.B. "A1"), während Cells die Zeilen- und Spaltennummern verwendet (z.B. Cells(1, 1) für A1).

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige