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

Forumthread: Spaltenbuchstabe als Variable ansprechen

Spaltenbuchstabe als Variable ansprechen
29.10.2008 18:10:00
Hartmut_M
Hallo, stehe im Moment auf dem Schlauch. Habe in einer String-Variablen "spalteziel" den Spaltenbuchstaben "D" gespeichert. Habe dann folgenden Befehl:
For Each zelle In [spalteziel & 3:spalteziel & 1375]
Da kommt immer "Typen unverträglich"
Wo liegt mein Fehler?
Gruß Hartmut
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spaltenbuchstabe als Variable ansprechen
29.10.2008 18:14:41
ransi
HAllo
Versuch es einmal so:
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit


Public Sub t()
Dim Zelle As Range
Dim spalteziel As String
spalteziel = "D"
For Each Zelle In Range(spalteziel & "3:" & spalteziel & 1375)
    MsgBox Zelle.Address
Next
End Sub


ransi
Anzeige
AW: Spaltenbuchstabe als Variable ansprechen
29.10.2008 18:33:00
Hartmut_M
Hallo ransi, funktioniert. Ich verstehe aber die Anführugnsstriche nicht. Code sieht so aus:
For Each zelle In Range(spalteziel & "3:" & spalteziel & 1375)
If zelle = "UR" Or zelle = "GL" Or zelle = "KR" Or zelle = "DR" Then
zelle.Value = ""
zelle.ClearFormats
End If
Next
Warum die Anführungsstriche vor der 3 und hinter dem Doppelpunkt?
Ich möchte auch die Hintergrundfarbe entfernen aber den Rahmen lassen, wie kriege ich das hin?
Hartmut
Anzeige
Hat sich erledigt!
29.10.2008 18:59:26
Hartmut_M
Hi, bin schon dahinter gekommen. Die Daten zwischen den & müssen in Anführungsstriche. Das gleiche könnte auch mit der 1375 ganz hinten.
Und die Hintergrundfarbe entferne ich mit
zelle.Interior.ColorIndex = xlNone
Hartmut
;
Anzeige
Anzeige

Infobox / Tutorial

Spaltenbuchstabe als Variable in Excel ansprechen


Schritt-für-Schritt-Anleitung

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel, indem Du ALT + F11 drückst.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (DeinWorkbookName)", wähle Einfügen und dann Modul.

  3. Kopiere und füge den folgenden Code ein:

    Option Explicit
    
    Public Sub t()
       Dim Zelle As Range
       Dim spalteziel As String
       spalteziel = "D"
       For Each Zelle In Range(spalteziel & "3:" & spalteziel & "1375")
           If Zelle = "UR" Or Zelle = "GL" Or Zelle = "KR" Or Zelle = "DR" Then
               Zelle.Value = ""
               Zelle.ClearFormats
           End If
       Next
    End Sub
  4. Führe das Makro aus: Du kannst das Makro starten, indem Du im VBA-Editor F5 drückst oder über das Menü Run > Run Sub/UserForm.

  5. Überprüfe die Änderungen in den Zellen der Spalte D.


Häufige Fehler und Lösungen

  • Fehler: "Typen unverträglich"

    • Lösung: Stelle sicher, dass Du die Anführungszeichen bei den Zellreferenzen richtig einsetzt. Die Zeile Range(spalteziel & "3:" & spalteziel & "1375") ist korrekt.
  • Problem mit Hintergrundfarbe

    • Lösung: Um die Hintergrundfarbe zu entfernen, kannst Du zelle.Interior.ColorIndex = xlNone verwenden, wie im Thread beschrieben.

Alternative Methoden

Wenn Du nicht VBA verwenden möchtest, kannst Du auch Excel-Formeln nutzen, um mit Spaltenbuchstaben zu arbeiten. Eine Möglichkeit ist die Verwendung von INDIREKT:

=INDIREKT("D3")

Diese Formel gibt den Wert der Zelle D3 zurück und kann in Kombination mit weiteren Funktionen genutzt werden.


Praktische Beispiele

Hier ein Beispiel für die Verwendung von VBA zur Verarbeitung von Werten in einer bestimmten Spalte:

Public Sub Beispiel()
    Dim Zelle As Range
    Dim spalteziel As String
    spalteziel = "E"
    For Each Zelle In Range(spalteziel & "1:" & spalteziel & "100")
        If IsNumeric(Zelle.Value) Then
            Zelle.Value = Zelle.Value * 2 ' Verdopple den Wert
        End If
    Next
End Sub

Dieses Beispiel zeigt, wie Du die Werte in der Spalte E verdoppeln kannst.


Tipps für Profis

  • Verwende Option Explicit: Dies hilft, Fehler zu vermeiden, indem es vorschreibt, dass alle Variablen deklariert werden müssen.
  • Nutze With...End With: Um den Code übersichtlicher zu gestalten, wenn Du mehrere Eigenschaften einer Zelle ändern möchtest.

    With Zelle
      .Value = ""
      .ClearFormats
      .Interior.ColorIndex = xlNone
    End With

FAQ: Häufige Fragen

1. Warum muss ich Anführungszeichen verwenden?
Die Anführungszeichen sind notwendig, um sicherzustellen, dass der Text als String interpretiert wird. Ohne Anführungszeichen würde Excel versuchen, es als Variable oder Formel zu interpretieren.

2. Wie kann ich die Hintergrundfarbe einer Zelle entfernen?
Du kannst die Hintergrundfarbe mit zelle.Interior.ColorIndex = xlNone entfernen, was die Füllfarbe der Zelle zurücksetzt.

3. Kann ich auch andere Spalten ansprechen?
Ja, ändere einfach den Wert von spalteziel auf den gewünschten Spaltenbuchstaben, um eine andere Spalte zu bearbeiten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige