Microsoft Excel

Herbers Excel/VBA-Archiv

Funktionen aus VBA Code von deutsch in englisch ü

Betrifft: Funktionen aus VBA Code von deutsch in englisch ü
von: Anja
Geschrieben am: 23.08.2004 12:34:24

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

  


Betrifft: AW: Funktionen aus VBA Code von deutsch in englisch ü
von: Otto
Geschrieben am: 23.08.2004 13:10:40

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


  


Betrifft: AW: Funktionen aus VBA Code von deutsch in englisch ü
von: Anja
Geschrieben am: 23.08.2004 13:28:58

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


  


Betrifft: AW: Funktionen aus VBA Code von deutsch in englisch ü
von: Otto
Geschrieben am: 23.08.2004 13:56:56

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


  


Betrifft: AW: Funktionen aus VBA Code von deutsch in englisch ü
von: Anja
Geschrieben am: 23.08.2004 14:13:31

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


  


Betrifft: AW: Funktionen aus VBA Code von deutsch in englisch ü
von: EtoPHG
Geschrieben am: 23.08.2004 13:56:20

Anja

Vielleicht hilft das

http://www.herber.de/bbs/user/9966.xls

Gruss Hansueli


  


Betrifft: AW: Funktionen aus VBA Code von deutsch in englisch ü
von: Anja
Geschrieben am: 23.08.2004 14:14:01

hi,

danke.

gruß

Anja