Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Spaltenbezeichnung in VBA-Formeln <-> Excel-Formel

Spaltenbezeichnung in VBA-Formeln <-> Excel-Formel
23.02.2007 16:01:26
Bjoern
Hallo,
ich habe folgendes Problem bei Aufzeichnen eines Makros und der Verfeinerung der Ergebnisse
Ich habe in einer Zelle folgende Formel eingegeben:
=WENN(TYP(KORREL('Daten1'!C4:C46;'Daten2'!E4:E46))=16;0;KORREL('Daten1'!C4:C46;'Daten2'!E4:E46))
Wenn ich die Formel mit dem Makrorekorder aufnehme, bekomme ich folgendes Ergebnis:
ActiveCell.FormulaR1C1 = _
"=IF(TYPE(CORREL('Daten1'!R[-3]C[1]:R[39]C[1],'Daten2'!R[-3]C[3]:R[39]C[3]))=16,0,CORREL('Daten1'!R[-3]C[1]:R[39]C[1],'Daten2'!R[-3]C[3]:R[39]C[3]))"
Von der zuvor genannten Formel habe ich insgesamt 87 Varianten ...
Mittels des Makros möchte ich den Bereich / Spalte von "Daten1" frei wählen / bestimmen können, in dem ich einfach die Spalte abfrage, die ich dann auswerten will.
D4:D46
E4:E46
...
IU4:I46
IV4:I46
Leider habe ich keinen Schimmer, wie ich das dann für diese Formel hinbekomme, die mir der Rekorder aufgenommen hat.
Wollte einfach den Bezeichnung der Spalte als Variable abfragen und dann entsprechend in die Formel einfügen. Nur steht in der aufgezeichneten Formel nicht die Spalte als Buchstabe.
Gibt es eine Möglichkeit die Formel entsprechend so zu erstellen, dass ich die Spaltenbezeichnung (A, B, C, D, ... IU, IV) sehe / ändern kann oder welche Lösung gibt es sonst.
Freue mich, wenn mir jemand entsprechend helfen kann. DANKE
Björn
PS: Die Variante Suchen/Ersetzen ohne Makroeinsatz funzt nicht, da man beim Ersetzen des "E"s auch z. B. das "Wenn" zerstört ... :-(
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Spaltenbezeichnung in VBA-Formeln <-> Excel-Formel
23.02.2007 16:38:00
IngGi
Hallo Björn,
folgender Codeschnipsel sollte dir weiterhelfen:

Dim Spalte1 As String
Dim Spalte2 As String
Spalte1 = InputBox("Bitte Spalte der ersten Matrix eingeben.")
Spalte2 = InputBox("Bitte Spalte der zweiten Matrix eingeben.")
ActiveCell.FormulaLocal = "WENN(TYP(KORREL('Daten1'!" & Spalte1 & "4:" & Spalte1 & "46;'Daten2'!" & _
   Spalte2 & "4:" & Spalte2 & "46))=16;0;KORREL('Daten1'!" & Spalte1 & "4:" & Spalte1 & _
   "46;'Daten2'!" & Spalte2 & "4:" & Spalte2 & "46))"

Gruß Ingolf
Anzeige
Danke
23.02.2007 16:46:24
Bjoern
Hallo Ingolf,
perfekt. Genauso wollte ich es machen ... ;-)
"FormulaLocal" war der entscheidende Aspekt.
Wieder was gelernt!
Danke und schönes WE.
Grüße
Björn
Noch ein wichtiger Nachtrag, damit es läuft
27.02.2007 11:03:41
Bjoern
Die Formel von Ingolf
ActiveCell.FormulaLocal = "WENN(TYP....
muss wie folgt ergänzt werden
ActiveCell.FormulaLocal = "=WENN(TYP...
Ohne das "=" am Formelanfang funktioniert die Formel nicht - wird sonst als Text eingetragen.
Grüße
Björn
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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