Formel per VBA einfügen
#1
Hallo Forum,

ich suche eine Möglichkeit folgende Formel über VBA per Klick auf eine Schaltfläche in die Aktive Zelle einzufügen.

Code:
=WENNFEHLER(SVERWEIS(A3;Tabelle2!$A$2;$B$250;2;Falsch);"prüfen")

Besten Dank im Voraus
Omron2003
Antworten Top
#2
Hallo Omron2003,

probier mal so:
Code:
Private Sub Button1_Click()

ActiveCell.FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-1],Tabelle2!R2C1:R250C2,2,0),""prüfen"")"

End Sub
Diese Formel bezieht den SVerweis auf die Zelle links von der aktiven Zelle.

In deiner Formel ist übrigens ein Fehler. Die beiden Zellen im SVerweis müssen mit ":" getrennt werden.

Gruß,
Lutz
Antworten Top
#3
Hallo Lutz,

Sorry für den Schreibfehler.

Dein Code funktioniert besten!

Nochmals besten Dank für die schnelle Hilfe.

Gruß
Omron2003
Antworten Top
#4
Hallo,

es wird mir immer ein Rätsel bleiben, warum man Formeln per VBA in eine Liste eintragen möchte. Man kann doch die Berechnungen gleich mit VBA ausführen und nur das Ergebnis eintragen.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
[-] Folgende(r) 1 Nutzer sagt Danke an Klaus-Dieter für diesen Beitrag:
  • snb
Antworten Top
#5
Hallo Klaus-Dieter,

das kommt aus meiner Sicht immer auf den Einzelfall an.

In der Regel gebe ich dir Recht, allerdings nutze ich in einigen Reports auch die Möglichkeit Formeln per VBA in Zellen zu schreiben. Damit behalte ich die Möglichkeit, Grunddaten manuell zu korrigieren, ohne dass ich das Makro nochmals laufen lassen muss (wobei das dann wieder andere Werte ändern würde, die ich nicht geändert haben möchte...).

Gruß,
Lutz
Antworten Top
#6
Zitat:Damit behalte ich die Möglichkeit, Grunddaten manuell zu korrigieren, ohne dass ich das Makro nochmals laufen lassen muss (wobei das dann wieder andere Werte ändern würde, die ich nicht geändert haben möchte...).
Wir können das nicht nachvollziehen; dann ist es kaum ein/kein  'Argment' für deine Aussage.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#7
Moin,

wenn du nicht weist, wie du deine Formel in VBA schreiben sollst, kannst du die Formel in Zelle C4 im aktuellen Tab eingeben,

z.B. =WENNFEHLER(SVERWEIS(A3;Tabelle2!$A$2;$B$250;0);"prüfen")

wechselst dann in den VBA-Editor,

öffnest dann das Direktfenster und schreibst dort z.B.
?range("C4").Formula

ENTER drücken

dortkannst du die Formel sehen die in Zelle C4 steht

=IFERROR(VLOOKUP(A3,Tabelle2!$A$2,$B$250,0),"prüfen")
Gruß Klaus

es Grüßt der niederRhein! 17
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste