Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Wert in Box und Zelle ausgeben
#1
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
Antwortento top
#2
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.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
[-] Folgende(r) 1 Benutzer sagt Danke an Käpt'n Blaubär für diesen Beitrag:
  • Mephisto50
Antwortento top
#3
Hallo,

und was genau ist jetzt deine Frage/Problem?

Gruß Werner
[-] Folgende(r) 1 Benutzer sagt Danke an Werner.M für diesen Beitrag:
  • Mephisto50
Antwortento top
#4
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...
Antwortento top
#5
Dein Makro ist auch super, toll... Danke... nur wie bekomme ich gleichzeitig den Wert (zb Excel 2016) in eine Zelle geschrieben... seufz
Antwortento top
#6
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
[-] Folgende(r) 1 Benutzer sagt Danke an Werner.M für diesen Beitrag:
  • Mephisto50
Antwortento top
#7
Ganz herzlichen Dank... oh man, wenn man es so liest... Super
Antwortento top
#8
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
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
[-] Folgende(r) 1 Benutzer sagt Danke an Käpt'n Blaubär für diesen Beitrag:
  • Mephisto50
Antwortento top
#9
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-2016)
[-] Folgende(r) 1 Benutzer sagt Danke an schauan für diesen Beitrag:
  • Mephisto50
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste