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

benannter Bereich erweitern und zuweisen

Forumthread: benannter Bereich erweitern und zuweisen

benannter Bereich erweitern und zuweisen
Peter
Liebes Forum
Wie kann ich einen benannten Bereich mittels VBA erweitern?
Beispiel
Range("ABC") bezieht sich auf auf Tabelle "Auswertung" und umfasst den Bereich
B5:B19
Nun möchte ich den Bereich erweitern auf B4:B20 (also eine Zelle mehr unten und eine Zelle mehr oben) und der benannte Bereich soll gemäss dieser Erweiterung neu definiert werden.
Manuell ist das ja sehr einfach, doch wie muss der entsprechende VBA-Code lauten?
Danke für jede Hilfe.
Gruss, Peter
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: benannter Bereich erweitern und zuweisen
24.11.2010 15:41:07
Rudi
Hallo,
einfach mit
sheets("Auswertung").range("B4:B20").name="ABC"
zuweisen.
Gruß
Rudi
Danke Rudi...
24.11.2010 15:53:36
strodti
... da sieht man mal wieder Deine Erfahrung. Korrekt, es handelt sich um eine verbundene Zelle.
Vielen Dank für die Hilfe.
Gruß
Tobias
sorry- falsch platziert owT
24.11.2010 16:00:47
strodti
Anzeige
AW: benannter Bereich erweitern und zuweisen
24.11.2010 16:22:46
Peter
Hallo Rudi
Dankeschön. Beim Kaffee ist mir dann noch eine elegantere Version in den Sinn gekommen:
lngSpa = Range("ABC").Column
lngZeFirst = Range("ABC").Row - 1
lngZeLast = Range("ABC").Row + Range("ABC").Rows.Count
Names.Add Name:="ABC", RefersTo:=Sheets("Auswertung"). _
Range(Cells(lngZeFirst, lngSpa), Cells(lngZeLast, lngSpa))
Gruss, Peter
Anzeige
AW: benannter Bereich erweitern und zuweisen
24.11.2010 16:58:16
Rudi
Hallo,
was ist daran elegant? Wenn das Blatt nicht aktiv ist, gibt's 'nen Fehler.
Sub ttt()
With Sheets("Auswertung")
With .Range("ABC")
If .Row > 1 Then
.Offset(-1).Resize(.Rows.Count + 2).Name = "ABC"
End If
End With
End With
End Sub

Gruß
Rudi
Anzeige
AW: benannter Bereich erweitern und zuweisen
24.11.2010 17:07:46
Peter
Hallo Rudi
Vielen Dank. Mit deiner Eleganz kann ich natürlich nicht mithalten ;-) .
So ein Code mit der Kombination Offset und Resize habe ich mir "gewünscht", jedoch die Lösung nicht gefunden.
Mein Code läuft jeweils in der aktuellen Tabelle ab, falls dies nicht mehr der Fall wäre, konnte ich das Problem auch beheben.
Nochmals dankeschön und Gruss, Peter
Sub Erweitern()
Dim lngSpa As Long, lngZeFirst As Long, lngZelast As Long
lngSpa = Range("ABC").Column
lngZeFirst = Range("ABC").Row - 1
lngZelast = Range("ABC").Row + Range("ABC").Rows.Count
With Sheets("Auswertung")
Names.Add Name:="ABC", RefersTo:=Sheets("Auswertung"). _
Range(.Cells(lngZeFirst, lngSpa), .Cells(lngZelast, lngSpa))
End With
End Sub

Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Benannten Bereich in Excel erweitern und zuweisen


Schritt-für-Schritt-Anleitung

Um einen benannten Bereich in Excel zu erweitern, kannst Du folgenden VBA-Code verwenden:

  1. Öffne Excel 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 und füge den folgenden Code in das Modul ein:

    Sub Erweitern()
       Dim lngSpa As Long, lngZeFirst As Long, lngZelast As Long
       lngSpa = Range("ABC").Column
       lngZeFirst = Range("ABC").Row - 1
       lngZelast = Range("ABC").Row + Range("ABC").Rows.Count
       With Sheets("Auswertung")
           Names.Add Name:="ABC", RefersTo:=Sheets("Auswertung"). _
           Range(.Cells(lngZeFirst, lngSpa), .Cells(lngZelast, lngSpa))
       End With
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Führe das Makro aus, um den benannten Bereich auf B4:B20 zu erweitern.


Häufige Fehler und Lösungen

  • Fehler: "Das angegebene Blatt existiert nicht"

    • Stelle sicher, dass das Blatt "Auswertung" in Deiner Arbeitsmappe vorhanden ist.
  • Fehler: "Der benannte Bereich kann nicht erstellt werden"

    • Überprüfe, ob der Name "ABC" bereits verwendet wird. Du kannst den Namen in der Namensmanager-Funktion von Excel überprüfen.
  • Fehler: "Objektvariable oder With-Blockvariable nicht festgelegt"

    • Dies könnte passieren, wenn Du versuchst, den Code auszuführen, während das Zielblatt nicht aktiv ist. Überprüfe, ob das richtige Blatt aktiv ist oder verwende die With Sheets("Auswertung")-Struktur.

Alternative Methoden

  1. Manuelle Methode:

    • Du kannst den Bereich auch manuell erweitern, indem Du den Namensmanager öffnest (Formeln > Namensmanager), den benannten Bereich auswählst und die Referenz anpasst.
  2. Power Query:

    • Wenn Du mit dynamischen Daten arbeitest, kannst Du einen Power Query Named Range erstellen, der automatisch den Bereich basierend auf den Daten anpasst.

Praktische Beispiele

Angenommen, Du hast einen benannten Bereich "ABC", der derzeit B5:B19 umfasst. Um diesen Bereich auf B4:B20 zu erweitern, kannst Du den oben genannten VBA-Code verwenden.

Ein weiteres Beispiel wäre, wenn Du die höchste benannte Zahl in einem Bereich ermitteln möchtest:

Sub HöchsteZahl()
    Dim maxZahl As Double
    maxZahl = Application.WorksheetFunction.Max(Range("ABC"))
    MsgBox "Die höchste benannte Zahl ist: " & maxZahl
End Sub

Tipps für Profis

  • Verwende das Objektmodell von Excel effizient, um Fehler zu vermeiden.
  • Experimentiere mit Dynamischen Namen, die sich basierend auf der Größe Deiner Daten automatisch anpassen.
  • Denke daran, Deine VBA-Projekte regelmäßig zu speichern, um Datenverlust zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich einen benannten Bereich in Excel löschen?
Gehe zum Namensmanager (Formeln > Namensmanager), wähle den gewünschten Bereich aus und klicke auf "Löschen".

2. Kann ich mehrere benannte Bereiche gleichzeitig erstellen?
Ja, Du kannst einen Array von Bereichsnamen und deren Referenzen in einer Schleife definieren, um mehrere benannte Bereiche zu erstellen.

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