Registriert seit: 27.11.2018
Version(en): 2016
Hallo. Ich möchte die Excel Version mittels Makro auslesen und das Ergebnis per MsgBox ausgeben und in die Zelle A1 schreiben lassen. Aus den restlichen Ergebnissen wie Pfadüberprüfungen und so weiter stelle ich einen Text zusammen, der dann kopiert werden soll.
Dieses Makro habe ich bereits:
Sub Excel_Version()
'
' Excel_Version Makro
Select Case Left(Application.Version, 1)
Case 5
MsgBox "Excel 5"
Case 7
MsgBox "Excel 7/95"
Case 8
MsgBox "Excel 97"
Case 9
MsgBox "Excel 2000"
Case 1
Select Case Left(Application.Version, 2)
Case 10
MsgBox "Excel 2002"
Case 11
MsgBox "Excel 2003"
Case 12
MsgBox "Excel 2007"
Case 14
MsgBox "Excel 2010"
Case 15
MsgBox "Excel 2013"
Case 16
MsgBox "Excel 2016"
Case Else
MsgBox "Unbekannte Excel-Version!"
End Select
End Select
End Sub
Registriert seit: 11.04.2014
Version(en): '97 bis 2016; 365
Hallo,
Zitat:https://www.clever-excel-forum.de/thread...#pid126854
... fehlt noch das in die Zelle schreiben, aber das wirst Du ja wohl hinkriegen, denke ich.
... übrigens:
Zitat: Case Else
MsgBox "Unbekannte Excel-Version!"
End Select
End Select
End Sub
... das dürfte wohl ein Schluck zuviel sein, oder?
Wenn man die Zeilen vernünftig einrückt, dann lassen sich solche Fehler sehr leicht vermeiden.
Registriert seit: 05.09.2017
Version(en): 2013
Hallo,
und was genau ist jetzt deine Frage/Problem?
Gruß Werner
Registriert seit: 27.11.2018
Version(en): 2016
Hallo... meine Kenntnisse lese ich mir gerade an...
Funktioniert alles schon super, aber ich bekomme ja nur die MsgBox... möchte aber gleichzeitig, das er die Version in eine Zelle schreibt... und genau das habe ich eben noch nicht gefunden...
Registriert seit: 27.11.2018
Version(en): 2016
Dein Makro ist auch super, toll... Danke... nur wie bekomme ich gleichzeitig den Wert (zb Excel 2016) in eine Zelle geschrieben... seufz
Registriert seit: 05.09.2017
Version(en): 2013
Hallo,
so:
Code:
Sub Excel_Version()
'
' Excel_Version Makro
Select Case Left(Application.Version, 1)
Case 5
MsgBox "Excel 5"
Range("A1") = "Excel 5"
Case 7
MsgBox "Excel 7/95"
Range("A1") = "Excel 7/95"
Case 8
MsgBox "Excel 97"
Range("A1") = "Excel 97"
Case 9
MsgBox "Excel 2000"
Range("A1") = "Excel 2000"
End Select
Select Case Left(Application.Version, 2)
Case 10
MsgBox "Excel 2002"
Range("A1") = "Excel 2002"
Case 11
MsgBox "Excel 2003"
Range("A1") = "Excel 2003"
Case 12
MsgBox "Excel 2007"
Range("A1") = "Excel 2007"
Case 14
MsgBox "Excel 2010"
Range("A1") = "Excel 2010"
Case 15
MsgBox "Excel 2013"
Range("A1") = "Excel 2013"
Case 16
MsgBox "Excel 2016"
Range("A1") = "Excel 2016"
Case Else
MsgBox "Unbekannte Excel-Version!"
Range("A1") = "Unbekannte Excel-Version"
End Select
End Sub
Und wenn es nicht das aktive Blatt ist wo das rein soll, dann jeweils noch das Tabellenblatt vor dem Range.
Gruß Werner
Registriert seit: 27.11.2018
Version(en): 2016
Ganz herzlichen Dank... oh man, wenn man es so liest... Super
Registriert seit: 11.04.2014
Version(en): '97 bis 2016; 365
Hallo,
Na, dann schreibst Du eben noch eine Zeile dazu. Hier beispielsweise:
Zitat:Private Sub Meldung10()
MsgBox prompt:="Version 10.0 ('2002; XP)"
Cells(1, 1) = "Version 10.0 ('2002; XP)"
' 31. Mai 2001 Excel 2002 (MS Office XP) 10.0 Windows (Einführung Produktaktivierung)
' (letzte Version für Windows 98 / ME / NT 4.0)
End Sub
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
Du kannst auch in den verschiedenen cases einen String bilden und diesen am Ende in eine Zelle schreiben.
Dim strgString$
Select Case Irgendwas
Case 1: strgString = "1 ist meins"
Case 2: strgString = "2 ist deins"
Case 3: strgString = "3 ist seins"
End Select
MsgBox strgString
Oder Du nimmst ein Array
Dim arrVersions
arrVersions = Array(, , , , , , , , , , , , , , , , 2016)
MsgBox "Excel " & arrVersions(Val(Application.Version))
musst natürlich die Zahlen noch an die richtige Stelle im Array zwischen die Kommas packen, ich hab's mal nur für die 16 gemacht = 2016.
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• Mephisto50