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

Spaltenname in Cells Befehl

Forumthread: Spaltenname in Cells Befehl

Spaltenname in Cells Befehl
Christoph
Hallo Zusammen,
stehe gerade auf dem Schlauch. Ich habe diverse Spalten über Name definieren benannt.
Ich möchte auf diese nun mit Cells zugreifen, aber er akzeptiert die Namen nicht als Spaltenindex. Gebe ich direkt, Spaltenbuchstaben oder Nummern funktioniert es natürlich, aber nicht mit meinen 'eigenen' Namen.
Gibt es eine Möglichkeit dies zu kombinieren? Der Cells Befehl ist nicht zwingend, ich muss nur über Zeilenindex und Spaltenname meine Zelle ansprechen können.
Danke für Eure Hilfe.
Schönen Start ins Wochenende wünsche ich.
Danke & Gruß
Christoph
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Spaltenname in Cells Befehl
28.05.2010 13:10:31
Rudi
Hallo,
immer nur 1 Spalte je Name?
Range("MeinName")(ZeilenIndex)
oder
Range("MeinName").Cells(ZeilenIndex)
Gruß
Rudi
AW: Spaltenname in Cells Befehl
01.06.2010 12:08:44
Christoph
Hi Rudi,
vielen Dank und sorry für die späte Antwort. Das war es was ich suchte.
Beste Grüße
Christoph
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Zugriff auf Spaltennamen mit dem VBA Cells Befehl


Schritt-für-Schritt-Anleitung

  1. Spaltennamen definieren: Stelle sicher, dass du die Spalten in Excel über "Name definieren" benannt hast. Zum Beispiel: MeinName für eine bestimmte Spalte.

  2. VBA-Editor öffnen: Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  3. Modul erstellen: Klicke mit der rechten Maustaste auf dein Projekt im Projekt-Explorer, wähle Einfügen und dann Modul.

  4. Code schreiben: Verwende den folgenden VBA-Code, um auf den Spaltennamen zuzugreifen:

    Sub BeispielZugriff()
        Dim ZeilenIndex As Integer
        ZeilenIndex = 1 ' Beispiel für die erste Zeile
    
        ' Zugriff auf die Zelle anhand des Spaltennamens
        MsgBox Range("MeinName")(ZeilenIndex).Value
    End Sub
  5. Makro ausführen: Schließe den VBA-Editor und führe das Makro über ALT + F8 aus.


Häufige Fehler und Lösungen

  • Fehler: "Objekt nicht gefunden": Dies passiert, wenn der Spaltenname nicht korrekt definiert wurde. Überprüfe die Schreibweise und stelle sicher, dass du die Namen in Excel entsprechend definiert hast.

  • Fehler: "Index außerhalb des Bereichs": Achte darauf, dass der ZeilenIndex innerhalb der Anzahl der Zeilen in der Tabelle liegt. Ein Wert, der größer als die Anzahl der Zeilen ist, führt zu diesem Fehler.


Alternative Methoden

Eine alternative Methode, um auf Spalten anhand von Namen zuzugreifen, ist die Verwendung von Cells. Du kannst die Spaltenindizes ermitteln und dann den Zugriff so gestalten:

Sub AlternativeZugriff()
    Dim SpaltenName As String
    SpaltenName = "MeinName"

    ' Finde den Spaltenindex
    Dim SpaltenIndex As Integer
    SpaltenIndex = Range(SpaltenName).Column

    ' Zugriff auf die Zelle
    MsgBox Cells(1, SpaltenIndex).Value ' Beispiel für die erste Zeile
End Sub

Diese Methode nutzt den Spaltenindex, um auf die Zelle zuzugreifen.


Praktische Beispiele

Angenommen, du hast eine Spalte mit dem Namen Umsatz:

  1. Definiere den Namen Umsatz für die entsprechende Spalte in Excel.
  2. Verwende den folgenden Code, um den Wert in der zweiten Zeile zu erhalten:

    Sub UmsatzWert()
        MsgBox Range("Umsatz")(2).Value ' Zugriff auf den Umsatz der zweiten Zeile
    End Sub

Tipps für Profis

  • Verwende die Evaluate-Funktion: Du kannst die Evaluate-Funktion nutzen, um dynamische Zellreferenzen zu erstellen:

    MsgBox Evaluate("Umsatz")(1).Value ' Zugriff auf die erste Zeile der Spalte Umsatz
  • Fehlerbehandlung einfügen: Implementiere Error-Handling, um den Code robuster zu gestalten:

    On Error Resume Next
    MsgBox Range("MeinName")(ZeilenIndex).Value
    If Err.Number <> 0 Then
        MsgBox "Ein Fehler ist aufgetreten."
    End If
    On Error GoTo 0

FAQ: Häufige Fragen

1. Kann ich mehrere Spaltennamen gleichzeitig verwenden?
Ja, du kannst mehrere Spaltennamen definieren und in deinem VBA-Code darauf zugreifen, indem du jeweils den entsprechenden Namen verwendest.

2. Was ist der Unterschied zwischen Range und Cells?
Range ermöglicht den Zugriff auf benannte Bereiche oder Zellreferenzen, während Cells für den Zugriff über Zeilen- und Spaltenindizes verwendet wird. Bei benannten Bereichen kann Range flexibler sein, während Cells nützlich ist, wenn du mit dynamischen Indizes arbeitest.

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