Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 4 von 4

Thema: Namenskonvention VBA Function - MS Excel 2010 vs. S7 ?

  1. #1
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    10.794
    Danke
    885
    Erhielt 3.162 Danke für 2.562 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Beim arbeiten mit VBA in MS Excel 2010 (64-Bit) ist mir folgendes aufgefallen:

    In einer xls-Datei in einem VBA-Modul schreibe ich eine Function, deren Name mit "S7" beginnt (z.B. "S7func"). Diese Function kann nicht in einer Formel in einer Zelle eines Tabellenblatts verwendet werden! Beim Versuch, die Function in einer Zellenformel einzugeben kommt die allgemeine Fehlermeldung "Die eingegebene Formel enthält einen Fehler."

    Ändere ich den Name der Function, so daß er nicht mit "S7" beginnt (z.B. "xS7func") dann kann die Function erfolgreich in Zellenformeln verwendet werden.

    Weiß jemand warum Excel VBA-Functions mit Namen "S7..." so behandelt bzw. kennt jemand eine Stelle wo dieses Verhalten dokumentiert ist?

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet
    Zitieren Zitieren Namenskonvention VBA Function - MS Excel 2010 vs. S7 ?  

  2. #2
    Registriert seit
    25.06.2017
    Beiträge
    163
    Danke
    16
    Erhielt 24 Danke für 19 Beiträge

    Standard

    Moin Harald!
    Das muss Excels immanente Aversion gegen Siemens sein.
    S7test und S5test mag mein Excel auch nicht. X7test geht aber.
    Ich habe in Excel ständig Probleme mit Namen und musste schon oft auf Namen ausweichen, die dann meist recht unpassend waren oder ein Schema gesprengt haben, das ich einhalten wollte.
    In Deinem Fall hatte ich vermutet, dass Excel bei S7 an die Zelle S7 gedacht hat und dadurch verwirrt wurde. Dann hätte das aber auch mit X7 passieren müssen.
    Eine ganz böse und nicht seltene Falle in VBA unter Excel ist, dass Excel unter zwei verschieden Namen gerne mal diesselbe Variable anspricht.
    Da kann man sich einen Wolf nach der Ursache von Fehlfunktionen suchen.
    Es gab mal Compiler, die konnten ellenlange Namen, haben aber nur die ersten n Zeichen benutzt, um die Namen zu identifizieren.
    Da das Phänomen bei Excel aber auch bei sehr kurzen Namen auftreten kann und andererseits bei sehr langen nicht auftreten muss ... : keine Ahnung.
    Ich vermute, es gibt kilometerlange Listen von "reservierten" Namen, die man aber nicht kennt und über die man dann nur zufällig stolpert.
    Verdächtig ist immer, wenn Excel für einen Namen die gewählte GrossKleinSchreibung hartnäckig nach seinen eigenen Vorstellungen ändert - der Name ist dann schon anderweitig vergeben.
    Schönes Wochenende!
    Gruss, Heinileini

    P.S.:
    Zitat Zitat von PN/DP Beitrag anzeigen
    ... kennt jemand eine Stelle wo dieses Verhalten dokumentiert ist?
    Wer will sich denn wirklich die Mühe machen, alle Unzulänglichkeiten von Excel zu dokumentieren, geschweige denn, zu lesen?
    Lohnt sich doch gar nicht. Der nächste Update bringt doch wieder neue Probleme.
    Geändert von Heinileini (07.10.2017 um 14:51 Uhr)

  3. #3
    Avatar von PN/DP
    PN/DP ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    10.794
    Danke
    885
    Erhielt 3.162 Danke für 2.562 Beiträge

    Standard

    Moin Heinileini,

    Danke für Deine Ausführungen, auch wenn sie unbefriedigend sind. Anscheinend hält es MS tatsächlich nicht für nötig, wirkende Spezialregeln bei den Namenskonventionen zu dokumentieren - wer weiß, durch welche dirty Programmiertricks die entstanden sind ...

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  4. #4
    Registriert seit
    25.06.2017
    Beiträge
    163
    Danke
    16
    Erhielt 24 Danke für 19 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Moin Harald!
    Zitat Zitat von PN/DP Beitrag anzeigen
    ... wer weiß, durch welche dirty Programmiertricks die entstanden sind ...
    Harald
    In diesem Zusammenhang glaube ich nicht an "dirty ProgrammierTricks" ... die machen das genau so, wie wir (es leider auch müssen):
    Do
    - probieren
    - if widerErwarten nicht auf die Schnauze fallen then exit do
    - nächstbesten Namen auswürfeln
    Loop
    Danke für die FiFaEinladung! Weiss noch nicht, ob, wann, ...

    Gruss, Heinileini

    PS: habe absichtlich nicht Do while ... oder loop until ... geschrieben, denn das würde ein wenig Logik voraussetzen ;o)

    PPS: habe mir inzwischen nochmal mein Problem mit dem GüligkeitsBereich von Variablen-Deklarationen (modulübergreifend in VBA bei Excel) vorgenommen.
    Klappt jetzt. Warum vorher nicht, weiss ich nicht ... habe doch nichts anders gemacht!? Ausser zwischendurch abgespeichert.
    Geändert von Heinileini (16.10.2017 um 13:24 Uhr)

Ähnliche Themen

  1. MS Office Access 2007 oder 2010 VBA ein OPC Client erstellen
    Von edelfix im Forum Hochsprachen - OPC
    Antworten: 4
    Letzter Beitrag: 24.09.2012, 21:12
  2. opc und excel 2010
    Von rule im Forum Hochsprachen - OPC
    Antworten: 1
    Letzter Beitrag: 06.04.2012, 13:34
  3. ADS VBA (Excel)
    Von mkersch im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 17.01.2012, 11:09
  4. Excel (2010) Macro Userform Anzeigenfeld
    Von Jenny1985 im Forum PC- und Netzwerktechnik
    Antworten: 4
    Letzter Beitrag: 09.01.2012, 09:09
  5. VBA-Excel-OPC
    Von KNEFI im Forum Hochsprachen - OPC
    Antworten: 10
    Letzter Beitrag: 23.01.2009, 08:17

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •