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

Forumthread: in Formeln Spaltennamen verwenden

in Formeln Spaltennamen verwenden
Marc
Hallo zusammen,
durch Hilfe des Forums konnte ich meine Arbeit erleichtern. Ich definiere Spalten nun mit Namen, so dass ich beim Einfügen oder Löschen von Spalten nicht immer meinen Code (auslesen von Daten aus einer Hostanwendung nach Excel) modifizieren muss.
Meine Frage ist, ob man auch Formeln (siehe unten) mit dem Namen der Spalte definieren kann? Wenn ja, wäre es prima, wenn mit das jemand zeigen könnte. Danke für Eure Hilfe!
Gruß
Marc
Sub Brief_Formeln_einfügen1()
Range("Briefanrede").Cells(2).Select
ActiveCell.FormulaR1C1 = _
"=IF(RC[-26]="""","""",IF(RC[-26]=""Herr"",""Sehr geehrter Herr"",IF(RC[-26]=""Frau"","" _
_
Sehr geehrte Frau"",""prüfen"")))"
Selection.AutoFill Destination:=Range("ab2:ab10000"), Type:=xlFillDefault
Range("a1").Select
End Sub

Anzeige

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

Betreff
Benutzer
Anzeige
AW: in Formeln Spaltennamen verwenden
08.07.2009 15:08:40
Marc
Hallo,
in diesem Fall gibt es mehrere Möglichkeiten. Hier mal zwei...
If Range("A1").Value = "" Or Range("A1").Value = "Herr" Then
ActiveCell.Value = "Sehr geehrter Herr"
Else
ActiveCell.Value = "Sehr geehrte Frau"
End If
Oder
Select Case Range("A1").Value
Case "", "Herr"
ActiveCell.Value = "Sehr geehrter Herr"
Case Else
ActiveCell.Value = "Sehr geehrte Frau"
End Select
Am einfachsten für Anfänger ist jedoch die If Variante.
If = Wenn
Gruß
der andere Marc
Anzeige
AW: in Formeln Spaltennamen verwenden
08.07.2009 15:49:03
Marc
Hallo Marc :-) ,
das verstehe ich nicht. In Deiner Antwort sind die Spaltennamen nicht aufgeführt. Ich füge die Formeln ja durch ein Makro ein (vorher aufgezeichnet durch den Makrorekorder).
Meine Frage ging in die Richtung, die Formeln variabler zu gestalten, damit nicht nach einfügen oder löschen von weiteren Spalten jedes Mal das Makro mit der Formel angepaßt werden muss.
Anzeige
AW: in Formeln Spaltennamen verwenden
08.07.2009 20:54:13
Christian
Hallo Marc,
bei "FormulaR1C1" steht R für Row und c für Column.
Die Formel in VBA kannst du genau wie bei Formeln in der Tabelle mit relativen oder mit absoluten Bezügen schreiben. (Des weiteren gibt's ja auch noch FormulaLocal)
Bsp:
RC[-1] gleiche Zeile eine Spalte nach links (Zeile und Spalte haben relativen Bezug)
R1C1 Zeile 1 und Spalte 1 (beide absolut)
...
Das ganze kannst du dir einfach mit dem Recorder aufzeichnen.
Wenn du aber nur die Ergebnisse haben willst und keine Formeln in den Zellen erforderlich sind, dann würde ich auf Formeln verzichten und die Ergebnisse direkt mit VBA erzeugen, sowie "der andere Marc" versucht hat, es darzustellen.
Hier kannst du mit zB mit:
Cells(1, 1)
auf Zelle A1 verweisen oder mit
Columns(1) auf Spalte 1
ebenso
Rows(1) (= Zeile1)
Gruß
Christian
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Spaltennamen in Excel-Formeln verwenden


Schritt-für-Schritt-Anleitung

  1. Spaltennamen definieren:

    • Wähle die Spalte, die Du benennen möchtest.
    • Gehe zu „Formeln“ > „Namensmanager“ > „Neu“.
    • Gib den Namen ein (z.B. „Briefanrede“) und klicke auf „OK“.
  2. Verwendung in einer Formel:

    • Du kannst den definierten Namen in Formeln verwenden. Zum Beispiel:
      =IF(Briefanrede="Herr", "Sehr geehrter Herr", "Sehr geehrte Frau")
    • Dies ermöglicht es Dir, die Formeln flexibler zu gestalten, ohne den Bezug zur Spalte zu verlieren.
  3. Integration in VBA:

    • Wenn Du ein Makro erstellst, kannst Du den Namen ebenfalls verwenden:
      ActiveCell.Formula = "=IF(Briefanrede=""Herr"", ""Sehr geehrter Herr"", ""Sehr geehrte Frau"")"

Häufige Fehler und Lösungen

  • Fehler: „#NAME?“-Fehler:

    • Lösung: Überprüfe, ob der Spaltenname korrekt definiert ist und keine Schreibfehler enthält.
  • Fehler: Falsche Zellbezüge:

    • Lösung: Achte darauf, dass Du die Namen exakt so verwendest, wie sie definiert wurden.

Alternative Methoden

  • Verwendung von FormulaLocal:

    • Wenn Du die Formel in einer anderen Sprache benötigst, kannst Du FormulaLocal verwenden, um die Sprache der Excel-Formeln zu ändern. Zum Beispiel:
      ActiveCell.FormulaLocal = "=WENN(Briefanrede=""Herr""; ""Sehr geehrter Herr""; ""Sehr geehrte Frau"")"
  • Direkte Zellreferenzen:

    • Anstatt Spaltennamen zu verwenden, kannst Du auch direkte Zellreferenzen nutzen. Zum Beispiel:
      =IF(A2="Herr", "Sehr geehrter Herr", "Sehr geehrte Frau")

Praktische Beispiele

  • Beispiel für eine Briefanrede:

    Sub Brief_Formeln_einfügen()
      Range("Briefanrede").Cells(2).Select
      ActiveCell.FormulaR1C1 = "=IF(RC[-1]=""Herr"", ""Sehr geehrter Herr"", ""Sehr geehrte Frau"")"
      Selection.AutoFill Destination:=Range("ab2:ab10000"), Type:=xlFillDefault
    End Sub
  • Verwendung von Spaltennamen in einer Tabelle:

    • Nehmen wir an, Du hast eine Tabelle mit den Spalten „Name“ und „Anrede“. Du kannst die Spaltennamen in Folgendem verwenden:
      =IF([@Anrede]="Herr", "Sehr geehrter Herr", "Sehr geehrte Frau")

Tipps für Profis

  • Um die Verwaltung von Spaltennamen zu erleichtern, nutze den Namensmanager in Excel, um alle Deine Spaltennamen an einem Ort zu verwalten.
  • Achte darauf, dass Spaltennamen keine Leerzeichen oder Sonderzeichen enthalten, um Komplikationen in Formeln zu vermeiden.
  • Nutze die Funktion INDIREKT, um dynamische Bezugnahmen auf Spaltennamen zu erstellen, die sich ändern können.

FAQ: Häufige Fragen

1. Wie kann ich in Excel Spaltennamen definieren? Um in Excel Spaltennamen zu definieren, wähle die Spalte aus, gehe zu „Formeln“ und dann zu „Namensmanager“. Dort kannst Du einen neuen Namen für die Spalte eingeben.

2. Kann ich mehrere Spaltennamen in einer Formel verwenden? Ja, Du kannst mehrere Spaltennamen in einer Formel verwenden. Achte darauf, sie korrekt zu referenzieren, um Fehler zu vermeiden.

3. Was ist der Vorteil von Spaltennamen in Formeln? Der Vorteil von Spaltennamen in Formeln ist die erhöhte Flexibilität und Verständlichkeit, da Du die Struktur Deiner Daten beibehalten kannst, selbst wenn Du Spalten hinzufügst oder entfernst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige