Excel Automation, unterschiede zwischen US-En und DE in O23k & O27k ??

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von DavidDeb.

    Excel Automation, unterschiede zwischen US-En und DE in O23k & O27k ??

    Hallo miteinander,

    da mein deutsch möglicherweise nicht ausreicht für eine vertiefte Erklärung, wird ich hier eine Kürzfassung dessen wiedergeben von dem Beitrag hier! in englische Sprache (Hoffentlich werde ich damit die Moderatoren nicht verärgern)

    Kürz: der untenstehender Ausdruck verursacht in VB2008 (VSt) bei einer US-EN O2?k Installation keine Probleme, auf eine DE Version des O2?k MS-Office Paketes aber wohl!:

    Quellcode

    1. oWB.Names.Add("DR_AppData2", RefersToR1C1:="=OFFSET(AppData!R3C1,0,0,(COUNTA(AppData!C1)-2),1)")


    Zur Vollständigkeit: ich versuche im Workbook Objekt 'oWB' eine neue 'Name' hinzuzufügen, die 'RefersToR1C1' Eigenschaft sollte hier einen dynamischen Bereich beschreiben.

    Sowohl die englische (hier abgebildet) als auch die deutsche Variant der Zuweisung verursachen ein 'Exception'. Wohlbemerkt: die sprachliche und syntaktische unterschiede sind mir auch bekannt, z.B.: dass die Trennzeichen auch unterschiedlich sind, ',' wird in die deutsche Version mit ';' ersetzt u.s.w.

    Ich wäre mehr als dankbar für mögliche Lösungen oder Vorschläge.


    Best Grüße

    David D.
    Hallo,

    in der deutschen Version haben die Funktionen andere Namen. COUNTA() heißt auf deutsch zum Beispiel ANZAHL2(). Eine (vollständige?) Liste findest du hier:
    wiwi.uni-tuebingen.de/cms/file…Q446/Excel_Funktionen.pdf

    ------
    Hi,

    in the german version of MS Excel the functions are named in german language. As an example, COUNTA() in the english version is named ANZAHL2() in the german one. A (complete?) list is available here:
    wiwi.uni-tuebingen.de/cms/file…Q446/Excel_Funktionen.pdf

    --> I hope my english is good enough for you to understand what I mean XD.
    Gruß
    hal2000

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „hal2000“ ()

    Excel Automation, unterschiede zwischen US-En und DE in O23k & O27k ??

    Hallo 'hal2000'

    wie ich im meinem original 'Posting' erwähnt habe, sind mir die Unterschiede bestens bekannt. Zudem ist es auch so - IMHO - das die interne darstellung unabhängig von der Sprache der jeweilige Office (Excel) version ist. Eine in englische Sprache erstellte Formel mit z.B. 'CountA(Value#1, Value#2)', wird, wenn in eine deutschsprachige Excel Version angezeigt, als 'Anzahl2(Wert#1; Wert#2)' dargestellt. Ausserdem, wie im 'Top Posting' erzahlt, habe ich den Ausdruck:

    VB.NET-Quellcode

    1. oWB.Names.Add("DR_AppData2", RefersToR1C1:="=OFFSET(AppData!R3C1,0,0,(COUNTA(AppData!C1)-2),1)")


    in 'deutsch' geschrieben:

    VB.NET-Quellcode

    1. oWB.Names.Add("DR_AppData2", RefersToR1C1:="=BEREICH.VERSCHIEBEN(AppData!$A$3;0;0;(ANZAHL2(AppData!$A:$A)-2);1)


    ... und bekomme die gleiche 'Exception' (aber NUR in die deutsche Excel Bibliothek)


    Ich möchte nicht zu Weit vom 'Thema' abkommen und in sprachliche Unterschiede veheddern, mein Vorhaben ist heraus zu bekommen warum die eine Version läuft suber durch, die andere eben nicht! Es kann gar nicht sein dass eine Anwendung neu erstellt werden muss für eine 'neue' Sprache - das wäre absolut lächerlich!

    Ich hoffe damit etwaiige Unklarheiten geklärt zu haben.



    Beste Grüße,



    David D.
    Ich habe mir deine Frage bei vbforums.com noch einmal angeschaut. Auf dem Bild ist die Exception zu sehen - der letzte Satz der Fehlermeldung sagt aus, dass vor erforderlichen Gleichheitszeichen ein einzelnes Anführungszeichen (') stehen muss. Der Aufruf müsste folglich so aussehen:

    VB.NET-Quellcode

    1. oWB.Names.Add("DR_AppData2", RefersToR1C1:="'=OFFSET(AppData!R3C1,0,0,(COUNTA(AppData!C1)-2),1)")

    --> Ein ' vor dem =OFFSET...
    Vielleicht ist das die Lösung.

    EDIT: Das Forum interpretiert das ' als Kommentar - ein Darstellungsfehler.
    Gruß
    hal2000

    Excel Automation, unterschiede zwischen US-En und DE in O23k & O27k ??

    Hallo 'hal2000',

    die Verwendung eines "'" Zeichens vor dem Gleichheitszeichen hat zur folge dass nachfolgende Funktionen nicht mehr funktionieren, die ganze Zeichefolge wird höchstens als AlphaNumerische Konstant bewertet ... leider - ich habs bereits probiert :(

    Ich mache aber Fortschritte, es gibt trotzdem sehr widersprüchliche effekte, im Moment ist das Ganze immer noch zu verworren um eine halbwegs verständliche Aussage darüber zu machen.



    David D.