Mit VBA Formel einfügen ergibt #Wert fehler

Moderator: ModerationP

Mit VBA Formel einfügen ergibt #Wert fehler

Beitragvon D78_2 » 22. Okt 2021, 18:56

Guten Abend,

ich komm einfache nicht weiter und hoffe das mir ein von euch weiterhelfen kann.

Habe zwei Tabellen Blätter (Tabelle1 & Tabelle 2)

Mittels Makro möchte ich in Tabelle1 Formeln eintragen lassen. Trage ich sie von Hand ein sehen sie wie folgt aus:

Code: Alles auswählen
=INDEX(Tabelle2!$B$2:$D$5;VERGLEICH(Tabelle1!B4&Tabelle1!C4;Tabelle2!$B$2:$B$5&Tabelle2!C2:C5;0);3)


über das folgende Makro erhalte ich den Fehler #Wert und die Formel innerhalb der Zelle wie folgt aus. Man sieht das ein @ for Tabelle2 geschrieben wird. Warum?

Code: Alles auswählen
=INDEX(Tabelle2!$B$2:$D$5;VERGLEICH(Tabelle1!B4&Tabelle1!C4;@Tabelle2!$B$2:$B$5&@Tabelle2!C2:C5;0);3)


Das Makro sieht wie folgt aus:

Code: Alles auswählen
Sub Test()

Dim Zelle As Range
Dim Nr As Long
For Each Zelle In ActiveSheet.Range("g4:g10")
 Nr = Zelle.Row
 Zelle.FormulaLocal = "=INDEX(Tabelle2!$B$2:$D$5;VERGLEICH(Tabelle1!B4&Tabelle1!C4;Tabelle2!$B$2:$B$5&Tabelle2!C2:C5;0);3)"
Next Zelle

End Sub


Vielen Dank für eure Unterstützung
D78_2
 

Re: Mit VBA Formel einfügen ergibt #Wert fehler

Beitragvon Zwie » 22. Okt 2021, 20:38

Er möchte die wahrscheinlich Formel in Englisch haben.
Zwie
 

Re: Mit VBA Formel einfügen ergibt #Wert fehler

Beitragvon Gast » 22. Okt 2021, 20:54

Zwie hat geschrieben:Er möchte die wahrscheinlich Formel in Englisch haben.


Hallo,

habe ich Anfangs auch gedacht und habe die Formel in Englisch formatiert inkl. der besonderheit die ; durch die , zu tauschen. Doch der Fehler war der selbe.
Ich habe natürlich nun weiter gesucht und die Lösung ist simple, doch leider ohne Erklärung war es bewirkt:

Ursprünglich hieß es im Makro:

Code: Alles auswählen
Zelle.FormulaLocal = "=INDEX(Tabelle2!$B$2:$D$5;VERGLEICH(Tabelle1!B4&Tabelle1!C4;Tabelle2!$B$2:$B$5&Tabelle2!C2:C5;0);3)"


Nun habe ich aus Zelle.FormulaLocal nun Zelle.Formula2Local gemacht und schon ging es:

Code: Alles auswählen
Zelle.Formula2Local = "=INDEX(Tabelle2!$B$2:$D$5;VERGLEICH(Tabelle1!B4&Tabelle1!C4;Tabelle2!$B$2:$B$5&Tabelle2!C2:C5;0);3)"


Gruß und danke.
Gast
 

Re: Mit VBA Formel einfügen ergibt #Wert fehler

Beitragvon snb » 23. Okt 2021, 12:17

Läuft hier tadellos:

Code: Alles auswählen
Sub M_snb()
  Cells(10, 1).FormulaArray = "=INDEX(Tabelle2!$B$2:$D$5,Match(Tabelle1!B4&Tabelle1!C4,Tabelle2!$B$2:$B$5&Tabelle2!C2:C5,0),3)"
End Sub
snb
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 8852
Registriert: 25. Sep 2014, 16:37


Zurück zu Excel Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot], Der Steuerfuzzi, Klaus-Dieter, snb, wat-los und 17 Gäste