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

Forumthread: Name für einen bestimmten Bereich zuweisen in VBA

Name für einen bestimmten Bereich zuweisen in VBA
25.01.2005 11:19:17
Tom
Hallo zusammen,
ich möchte in VBA einem bestimmten Bereich:
hier ein Beispiel:
anzahl_msg = 586
Sheets("DBC_Sheet").Range(Cells(1, 1), Cells(anzahl_msg, 23)).Select
einen Namen zuweisen.
Meine Frage:
Geht es über diesen Befehl:
ActiveWorkbook.Names.Add Name:="Database" .....
für eure Hilfe im Voraus vielen Dank.

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Name für einen bestimmten Bereich zuweisen in VBA
25.01.2005 11:40:54
Viet
Hallo,
teste mal das
anzahl_msg = 586
Set rgn= Sheets("DBC_Sheet").Range(Cells(1, 1), Cells(anzahl_msg, 23)
rgn.Name="Database"
Gruß
Viet
AW: Name für einen bestimmten Bereich zuweisen in VBA
u_
Hallo,
warum schaust du nicht in die Hilfe.
Geht über .Names.add...
Einfacher ist's so:
Sheets("DBC_Sheet").Range(Cells(1, 1), Cells(anzahl_msg, 23)).Name="DataBase"
Gruß
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Namen für einen bestimmten Bereich in VBA zuweisen


Schritt-für-Schritt-Anleitung

Um in VBA einem bestimmten Bereich einen Namen zuzuweisen, kannst Du folgende Schritte befolgen:

  1. Öffne den VBA-Editor in Excel (ALT + F11).

  2. Füge ein neues Modul hinzu (Rechtsklick auf "VBAProject" > Einfügen > Modul).

  3. Verwende den folgenden Code, um den gewünschten Bereich zu benennen:

    Sub NameRange()
       Dim anzahl_msg As Integer
       anzahl_msg = 586
       Dim rgn As Range
       Set rgn = Sheets("DBC_Sheet").Range(Cells(1, 1), Cells(anzahl_msg, 23))
       rgn.Name = "Database"
    End Sub
  4. Führe das Skript aus, indem Du F5 drückst oder auf "Ausführen" klickst.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 1004"

    • Lösung: Überprüfe, ob das Arbeitsblatt "DBC_Sheet" existiert und ob die Zellen, die Du referenzierst, gültig sind.
  • Fehler: Der Name ist bereits vergeben

    • Lösung: Verwende den Befehl ActiveWorkbook.Names.Add oder lösche den bestehenden Namen, bevor Du einen neuen zuweist.
If Not Evaluate("ISREF(Database)") Then
    rgn.Name = "Database"
Else
    ActiveWorkbook.Names("Database").Delete
    rgn.Name = "Database"
End If

Alternative Methoden

Neben der Verwendung von Range.Name kannst Du auch Names.Add verwenden, um einen Namen für einen Bereich zu erstellen. Hier ist ein Beispiel:

Sub NameRangeWithAdd()
    Dim anzahl_msg As Integer
    anzahl_msg = 586
    ActiveWorkbook.Names.Add Name:="Database", RefersTo:=Sheets("DBC_Sheet").Range(Cells(1, 1), Cells(anzahl_msg, 23))
End Sub

Praktische Beispiele

Wenn Du in Power BI mit einem zyklischen Verweis arbeitest, kann das Zuweisen von Namen für Bereiche in Excel nützlich sein. Hier ist ein Beispiel, wie Du den Namen in Power BI verwenden kannst:

  • Erstelle einen Namen in Excel wie oben beschrieben.
  • Importiere die Excel-Datei in Power BI und verwende den benannten Bereich "Database" in Deinen Abfragen.

Tipps für Profis

  • Nutze die vba name as Funktion, um den Datentyp für Variablen zu definieren, was die Fehlersuche erleichtert.
  • Halte Deine Namen konsistent und vermeide Leerzeichen oder Sonderzeichen, um Probleme in Excel und Power BI zu vermeiden.
  • Du kannst auch dynamische Bereiche erstellen, indem Du die Eigenschaften Offset und Resize in VBA verwendest.

FAQ: Häufige Fragen

1. Wie kann ich einen Namen für einen dynamischen Bereich zuweisen?
Du kannst die Resize-Methode verwenden, um einen Bereich dynamisch zu ändern und dann den Namen zuzuweisen.

2. Was passiert, wenn der Name bereits existiert?
Excel gibt einen Fehler aus. Du solltest den bestehenden Namen löschen oder einen neuen Namen verwenden, um Konflikte zu vermeiden.

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