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

Funktionen aus VBA Code von deutsch in englisch ü

Forumthread: Funktionen aus VBA Code von deutsch in englisch ü

Funktionen aus VBA Code von deutsch in englisch ü
23.08.2004 12:34:24
Anja
Hallo Profis,
ich habe immer noch das Problem mit verschidenen Versionen.
Also ich habe jetzt verstanden, dass das Problem im Prinzip lösbar ist.
Nun muss ich die deutsche Formeln, die ich in VBA geschrieben habe in englisch übersetzen,... so dass sie wie in deutsche, so in englischer Version funktionieren. So habe ich zum Beispiel SVEREIS übersetzt und habe in VBA code so geschrieben:
Formula_new_3 = "=VLOOKUP(L15,'Components Assignment_new'!A:C,2,0)"
Und als Ergebniss bekomme ich komischer weise das hier
=SVERWEIS('L15';'Components Assignment_new'!A:Y:Y;2;0)
Und das ist doch Blödsinn, was er da übersetzt hat..
So ähnlich ist das auch mit anderen Funktionen: hier sind die auf deutsch,
könnt ihr mir helfen sie in englische Version zu übersetzen, so dass sie wie in englischer so auch in deutscher Version funktionieren. Es wäre echt super:
1. Formula_1 = "=WENN(ISTFEHLER(C4-C3);0;WENN(C4- C3 kleiner 0;0;WENN(A4 ungelich A3;0;C4-C3)))" ' hier muss ich es mit Wörter schreiben, da HTML akteptiert das nicht

Range("E" & StartRow & ":E" & iRowNext).FormulaLocal = Formula_1
2. iRowNext = ActiveSheet.Cells(Rows.Count, 26).End(xlUp).Row
StartRow = 7
Formula_1 = "=WENN(ISTFEHLER(VERGLEICH(Z7;Data_Interface!$B$3:$IV$3;0));0;WENN(ISTFEHLER(VERGLEICH(Y7;Data_Interface!$B$3:$B$50000;0));0;SVERWEIS(Y7;Data_Interface!$B$3:$IV$50000;VERGLEICH(Z7;Tabelle1!$B$3:$IV$3;0);0)))"
Range("AT" & StartRow & ":AT" & iRowNext).FormulaLocal = Formula_1
3. Formula_2 = "=Summe(I6;K6)"
Range("Q6:Q" & iRowNext).FormulaLocal = Formula_2
4. Formula_1 = "=WENN(ISTFEHLER(SVERWEIS(C6;TEST_INFO!A:C;3;0));"""";SVERWEIS(C6;TEST_INFO!A:C;3;0))"
Range("R" & StartRow & ":R" & iRowNext).FormulaLocal = Formula_1

6. Formula_2 = "=WENN(ISTFEHLER(VERGLEICH(A14;Data_Interface!$E$3:$IV$3;0));0;WENN(ISTFEHLER(VERGLEICH(D14;Data_Interface!$B$7:$B$50000;0));0;SVERWEIS(D14;Data_Interface!$B$7:$IV$50000;VERGLEICH(A14;Data_Interface!$B$3:$IV$3;0);0)))"

Range("E" & StartRow & ":E" & iRowNext).FormulaLocal = Formula_2
7. Formula_new = "=WENN(ISTFEHLER(SUMMENPRODUKT((Testplan_GTC_Probe!$A$6:$A$" & iLetzt & " =A14)*(Testplan_GTC_Probe!$R$6:$R$" & iLetzt & "=D14)*(Testplan_GTC_Probe!$Q$6:$Q$" & iLetzt & ")));"""";SUMMENPRODUKT((Testplan_GTC_Probe!$A$6:$A$" & iLetzt & "=A14)*(Testplan_GTC_Probe!$R$6:$R$" & iLetzt & "=D14)*(Testplan_GTC_Probe!$Q$6:$Q$" & iLetzt & ")))"
Range("G" & StartRow & ":G" & iRowNext).FormulaLocal = Formula_new

Das ist sehr wichtig für mich!!!
Ich danke im Voraus für eure Mühe….
Viele Grüße
Anja
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Funktionen aus VBA Code von deutsch in englisch ü
23.08.2004 13:10:40
Otto
Hallo Anja,
Meine Testumgebung: Excel 9.0 SR-1, Multilingual unter Windows 2000 SP-4
Du hast kein Problem mit den verschiedenen Sprachen.
Es reicht völlig, einfach in Deinem deutschen Excel den VBA-Recorder zu starten, danach gibst Du in die fraglichen Zellen Deine deutschen Formeln ein. Danach beendest Du den VBA-Recorder. Wenn Du Dir jetzt den aufgezeichneten Code ansiehst, wirst Du sehen, dass er Dir die Übersetzungen ins Englische aufgezeichnet hat.
Diese übersetzten Formeln benutzt Du. Später wird Deine italienische Kollegin diesen Makro ausführen und dann die Formel in Italienisch sehen.
Es gibt allerdings Formeln, die auch TextParameter haben, erst bei denen musst Du über die Übersetzung nachdenken. Bei Deinen Formeln ist das nicht notwendig.
Gruß Otto
Anzeige
AW: Funktionen aus VBA Code von deutsch in englisch ü
23.08.2004 13:28:58
Anja
Hallo,
danke für den Tipp, aber was ist eigentlich mit den Formeln die nur mit Hilfe von VBA
arbeiten, wie zum beispiel hier.... Es wird erst letztes Element gefunden, dann die Formel berechnet: Diese Formel kann man doch nicht per VBA recorder aufzeichnen,
Formula_new = "=WENN(ISTFEHLER(SUMMENPRODUKT((Testplan_GTC_Probe!$A$6:$A$" & iLetzt & " =A14)*(Testplan_GTC_Probe!$R$6:$R$" & iLetzt & "=D14)*(Testplan_GTC_Probe!$Q$6:$Q$" & iLetzt & ")));"""";SUMMENPRODUKT((Testplan_GTC_Probe!$A$6:$A$" & iLetzt & "=A14)*(Testplan_GTC_Probe!$R$6:$R$" & iLetzt & "=D14)*(Testplan_GTC_Probe!$Q$6:$Q$" & iLetzt & ")))"
Range("G" & StartRow & ":G" & iRowNext).FormulaLocal = Formula_new

Hast du vielleicht irgendwelche Ideen?
Vielen Dank
und
Viele Grüße
Anja
Anzeige
AW: Funktionen aus VBA Code von deutsch in englisch ü
23.08.2004 13:56:56
Otto
Hallo Anja,
Meine Testumgebung: Excel 9.0 SR-1, Multilingual unter Windows 2000 SP-4
Diesen Teil hatte ich übersehen. Er ist aber trotzdem kein Problem.
1. Verzichte auf FormulaLocal! Das macht nur Sprachschwierigkeiten.
2. Zeichne doch einfach die eigentliche Formel auf, dann bekommst Du die korrekte englische Fassung
Ich würde die Zuweisung dann wie folgt erledigen:
Range(Cells(StartRow,7),Cells(iRowNext,7)).Formula = Formula_new
In diesem Zusammenhang fällt mir auf, dass Deine Variablennamen schlecht gewählt sind. Halte Dich an die Namenskonventionen aus den xlBasics! Du findest sie morgen wieder in den xlFAQs.
Mit besseren Variablennamen würde ich wie folgt schreiben:
Range(Cells(intStartRow,7),Cells(intRowNext,7)).Formula = strFormula_new
Gruß Otto
Anzeige
AW: Funktionen aus VBA Code von deutsch in englisch ü
23.08.2004 14:13:31
Anja
hallo Otto,
danke, ich probiere das aus...
es kann sein, dass die Frage noch nicht zu ist....
bis später
und danke noch mal, dass du dir Zeit für andere Menschen nimmst...
Gruß
Anja
AW: Funktionen aus VBA Code von deutsch in englisch ü
23.08.2004 13:56:20
EtoPHG
Anja
Vielleicht hilft das
https://www.herber.de/bbs/user/9966.xls
Gruss Hansueli
Anzeige
AW: Funktionen aus VBA Code von deutsch in englisch ü
23.08.2004 14:14:01
Anja
hi,
danke.
gruß
Anja
;

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

Infobox / Tutorial

Funktionen aus VBA Code von Deutsch in Englisch übersetzen


Schritt-für-Schritt-Anleitung

Um deutsche Excel-Funktionen in VBA korrekt in ihre englische Entsprechung zu übersetzen, kannst du folgende Schritte befolgen:

  1. VBA-Recorder aktivieren: Starte den VBA-Recorder in Excel.
  2. Formeln eingeben: Gib die deutschen Formeln in die entsprechenden Zellen ein.
  3. Recorder beenden: Stoppe den Recorder und schaue dir den generierten Code an. Du wirst sehen, dass Excel die Formeln automatisch ins Englische übersetzt hat.
  4. Code anpassen: Ersetze FormulaLocal in deinem Code durch Formula, um Sprachprobleme zu vermeiden.

Beispiel für einen Code-Snippet:

Range(Cells(StartRow, 7), Cells(iRowNext, 7)).Formula = "=VLOOKUP(L15,'Components Assignment_new'!A:C,2,0)"

Häufige Fehler und Lösungen

  • Problem: Der Code übersetzt Formeln nicht korrekt, z.B. von SVERWEIS zu VLOOKUP.

    • Lösung: Achte darauf, dass die korrekten englischen Funktionen verwendet werden. Stelle sicher, dass du Formula anstatt FormulaLocal verwendest.
  • Problem: VBA kann keine Formeln aufzeichnen, die auf Variablen basieren.

    • Lösung: Schreibe die Funktion in eine Zeile und benutze die aufgezeichnete Formel als Vorlage.

Alternative Methoden

Falls die oben genannten Schritte nicht funktionieren, gibt es alternative Methoden:

  • Manuelle Übersetzung: Erstelle eine Liste der deutschen Funktionen und ihre englischen Entsprechungen. Hier sind einige Beispiele:

    • SVERWEISVLOOKUP
    • WENNIF
    • ISTFEHLERISERROR
  • Excel-Funktionen in englischen Formaten: Du kannst auch die englischen Formeln direkt in dein deutsches Excel eingeben, wenn du die Spracheinstellungen entsprechend änderst.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du deine Formeln übersetzen kannst:

  1. WENN mit ISTFEHLER:

    Formula_1 = "=IF(ISERROR(C4-C3), 0, IF(C4-C3 < 0, 0, IF(A4 <> A3, 0, C4-C3)))"
  2. SUMMENPRODUKT:

    Formula_new = "=IF(ISERROR(SUMPRODUCT((Testplan_GTC_Probe!$A$6:$A$" & iLetzt & " = A14)*(Testplan_GTC_Probe!$R$6:$R$" & iLetzt & "=D14)*(Testplan_GTC_Probe!$Q$6:$Q$" & iLetzt & "))), """", SUMPRODUCT((Testplan_GTC_Probe!$A$6:$A$" & iLetzt & "=A14)*(Testplan_GTC_Probe!$R$6:$R$" & iLetzt & "=D14)*(Testplan_GTC_Probe!$Q$6:$Q$" & iLetzt & ")))"
  3. SVERWEIS:

    Formula_1 = "=IF(ISERROR(VLOOKUP(C6, TEST_INFO!A:C, 3, 0)), """", VLOOKUP(C6, TEST_INFO!A:C, 3, 0))"

Tipps für Profis

  • Benutze Kommentare: Füge Kommentare in deinen VBA-Code ein, um die Funktionen besser zu verstehen.
  • Namen für Variablen: Halte dich an die Namenskonventionen in Excel. Bessere Variablennamen erleichtern das Verständnis und die Wartung deines Codes.
  • Teste den Code: Führe den Code in einer Testumgebung aus, bevor du ihn in einer produktiven Datei verwendest.

FAQ: Häufige Fragen

1. Wie übersetze ich komplexe Formeln?
Für komplexe Formeln ist es am besten, die Formel manuell oder durch den VBA-Recorder aufzunehmen und anschließend die englische Version zu verwenden.

2. Was ist, wenn ich eine Funktion nicht finde?
Du kannst die Online-Dokumentation von Microsoft nutzen, um die passende englische Funktion zu finden. Alternativ können Foren wie dieses dir helfen, die benötigte Übersetzung zu erhalten.

3. Gibt es Unterschiede in den Argumenten der Funktionen?
Ja, einige Funktionen haben unterschiedliche Anzahl oder Art der Argumente in verschiedenen Sprachen. Überprüfe daher die Dokumentation für spezifische Details.

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