Tipps & Tricks: Detail

Hier finden Sie zu dem ausgewählten Tipp oder Trick die detaillierten Angaben.

Wenn in den folgenden Erläuterungen Texte wie MsgBox formatiert sind, handelt es sich um konkret einzugebende Inhalte wie VBA-Code oder die Eingabe von Werten. Menüs wie Datei Speichern sind wie hier zu sehen formatiert. Schaltflächen oder Registerkarten auf Dialogen werden wie Menüs behandelt.

Alle Tipps sind nach bestem Wissen geprüft, aber selbstverständlich ohne Gewähr. Sollten Sie doch einen Fehler darin entdecken, würden wir uns freuen, wenn Sie uns per E-Mail Bescheid sagen.

Damit Ihre Makros nicht versehentlich von Benutzern erstellte Dateien in einem falschen Format speichern, sollten Sie bei Bedarf prüfen, mit welcher Excel-Version sie vorher gespeichert wurden.

Jede Datei besitzt die Eigenschaft CalculationVersion, eine Long-Zahl(!), welche sowohl die Versionsnummer der Hauptversion des zuletzt speichernden Excel-Programms als auch in den letzten vier Ziffern eine Nummer für dessen Unterversion seines Berechnungsmoduls enthält. Zur Analyse könnte Ihr Makro beispielsweise so arbeiten:

Sub DateiVersion()
Dim strVersion As String
Dim strHauptVersion As String
Dim strUnterVersion As String
 
strVersion = CStr(ActiveWorkbook.CalculationVersion)
strHauptVersion = Left(strVersion, Len(strVersion) - 4)
strUnterVersion = Mid(strVersion, Len(strVersion) - 3)
 
Select Case strHauptVersion
Case "9"
MsgBox "Excel 2000: Unterversion " & strUnterVersion
Case "10"
MsgBox "Excel 2002: Unterversion " & strUnterVersion
Case "11"
MsgBox "Excel 2003: Unterversion " & strUnterVersion
Case "12"
MsgBox "Excel 2007: Unterversion " & strUnterVersion
Case Else
MsgBox "Excel " & strHauptVersion & ": Unterversion " & strUnterVersion
End Select
End Sub

Die eher unübliche, explizite Umwandlung einer Long-Zahl in eine Zeichenkette geschieht, damit anschließend korrekt mit Zeichenketten-Funktionen wie Left oder Mid gearbeitet werden kann. Unter VisualBasic würde zwar auch sonst intern eine Datentypkonvertierung durchgeführt, aber solch schlechter Stil sollte gar nicht erst geschrieben werden.