Mehrfachbereich an Rng Variable in Excel zuweisen
Schritt-für-Schritt-Anleitung
Um einen Mehrfachbereich an eine Rng Variable in Excel zuzuweisen, kannst du die folgenden Schritte befolgen:
-
Definiere eine Rng Variable:
Dim rngEingabe As Range
-
Setze den Bereich:
Anstatt die Address-Eigenschaft zu verwenden, weise direkt den benannten Bereich zu.
Set rngEingabe = Range("tabEingabe")
-
Durchlaufe alle Arbeitsblätter:
Verwende eine Schleife, um durch jedes Arbeitsblatt zu iterieren.
For Each objWorksheet In ThisWorkbook.Worksheets
-
Prüfe eine Bedingung:
Überprüfe, ob die Zelle A1 den gewünschten Wert hat.
If objWorksheet.Range("A1") = "Berechnung" Then
-
Lösche die Inhalte im Bereich:
Nun kannst du die Inhalte im definierten Bereich löschen.
objWorksheet.Range(rngEingabe.Address).Clear
-
Schließe die Schleife:
Beende die Schleife und setze die Anwendungseinstellungen zurück.
Next
Häufige Fehler und Lösungen
-
Typen unverträglich: Wenn du versuchst, Set rngEingabe = Range("tabEingabe").Address zu verwenden, erhältst du einen Fehler. Verwende stattdessen Set rngEingabe = Range("tabEingabe").
-
Methode oder Datenobjekt nicht gefunden: Wenn du objWorksheet.rngEingabe.Clear verwendest, wird ein Fehler angezeigt. Das liegt daran, dass rngEingabe nicht als Methode des Arbeitsblatts verfügbar ist. Verwende objWorksheet.Range(rngEingabe.Address).Clear.
Alternative Methoden
Eine alternative Methode, um einen Rng Bereich zu definieren, ist die Verwendung von Names in Excel. Du kannst den Bereich auch über die Name-Eigenschaft ansprechen, z.B.:
Set rngEingabe = ThisWorkbook.Names("tabEingabe").RefersToRange
Praktische Beispiele
Hier ist ein komplettes Beispiel für ein Makro, das den beschriebenen Prozess durchführt:
Public Sub Inhalte_Tab_Loeschen()
Dim objWorksheet As Worksheet
Dim rngEingabe As Range
Set rngEingabe = Range("tabEingabe")
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
For Each objWorksheet In ThisWorkbook.Worksheets
If objWorksheet.Range("A1") = "Berechnung" Then
objWorksheet.Range(rngEingabe.Address).Clear
End If
Next
Set objWorksheet = Nothing
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
End Sub
Tipps für Profis
-
Vermeide die Verwendung von Address, wenn du mit Range arbeitest. Dies kann zu Verwirrung führen, wenn du versuchst, einen Rng Bereich zu definieren.
-
Nutze With-Anweisungen: Das verbessert die Lesbarkeit deines Codes.
With objWorksheet
If .Range("A1") = "Berechnung" Then
.Range(rngEingabe.Address).Clear
End If
End With
FAQ: Häufige Fragen
1. Was bedeutet rng in Excel VBA?
rng ist eine Abkürzung für "Range" und bezeichnet einen Zellbereich in Excel VBA.
2. Wie setze ich eine Rng Variable?
Du kannst eine Rng Variable mit Set rng = Range("Bereichsname") festlegen.
3. Was ist der Unterschied zwischen Address und Value?
Address gibt die Zelladresse als String zurück, während Value den Inhalt der Zelle zurückgibt.