Ergebnis 1 bis 1 von 1

Thema: VBA-Dialekte

  1. #1
    Office-Hilfe.com - Durchblicker
    Registriert seit
    30.12.2016
    Beiträge
    235

    VBA-Dialekte

    Im folgenden sind Versions-Unterschiede bei VBA-Code aufgeführt. Zu Excel 365 ist anzumerken, dass sich das jederzeit ändern kann, was ich hier nicht immer mitführen werde können. Falls jemand abweichende Beobachtungen macht oder Kommentare zu nicht aufgeführten Versionen hat: Immer gern her damit.

    Als blau ist die Variante markiert, die für Crossover-Kompatibilität verwendet werden sollte. Das kann man natürlich selbst anders machen, wenn man alte Versionen nicht unterstützen möchte.

    Inhaltliche Erweiterungen von Excel im Laufe der Zeit können hier naturgemäß nicht erwähnt werden!

    R1C1-Formelzuweisungen werden manchmal nur bei neueren Versionen ohne Property als solche erkannt:
    Excel 2000: [B2].FormulaR1C1 = "=RC[-1]+R[-1]C"
    Excel 2010: [B2] = "=RC[-1]+R[-1]C"
    Excel 0365: [B2] = "=RC[-1]+R[-1]C"
    In einigen Fällen klappt die kurze Schreibweise jedoch auch bei Excel2000.

    Der Bezug =RC1 wird allerdings dann im großen Excel-Modell doppeldeutig (im mittleren und kleinen Modell geht es nur bis IV1):
    Excel 2000: [B2].FormulaR1C1 = "=RC1"
    Excel 2010: [B2].FormulaR1C1 = "=R[0]C1" ermöglicht dann auch [B2] = "=R[0]C1"
    Excel 0365: [B2].FormulaR1C1 = "=R[0]C1"
    Anmerkung: Ein einziges "Triggern" mit [0] in einer langen Formel reicht aus, damit Excel versteht, dass es um einen R1C1-, nicht A1-Bezug, geht. Das ganze Problem gilt aber nur beim Weglassen von .FormulaR1C1, siehe oben.

    Zuweisung von Bedingter Formatierung:
    Excel 2000: (funktioniert, wie man es gelernt hat: Vollständige "Vektorisierung")
    Excel 2010: Probleme mit relativen Bezügen, die absolut interpretiert werden (angeblich seit 2007, Fehler!, da nur via VBA so)
    Excel 0365: (noch zu testen)
    Daher wird von mir bei VBA-Erstellung bedingter Formatierungen die Verwendung von benannten Formeln empfohlen.

    Zuweisung von Formeln:
    Excel 2000: (keine Auffälligkeit)
    Excel 2010: (keine Auffälligkeit)
    Excel 0365: hakt gelegentlich (Stand Nov. 2018, Fehler!). Dann hilft: [B2].FormulaR1C1 = [B2].FormulaR1C1
    Anmerkung: Welche Arten von Formeln bei 365 betroffen sind, kann ich noch nicht eingrenzen.

    (wird laufend erweitert)
    Geändert von lupo1 (17.11.2018 um 08:52 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
Excel Ticker - News, Tipps und Tricks zu Microsoft Excel | SMS kostenlos versenden | Forenuser - Die Foren Findmaschine