Excel VBA: Wie Inhalt einer Zelle in einer Msgbox anzeigen?

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

na dann, willkommen zurück

Sub main()

   MsgBox Excel.ActiveSheet.Cells(1, 1).Value

End Sub

kurz:

MsgBox ActiveSheet.Range("E1")

oder

MsgBox Worksheets("Tabelle1").Range("E1")

.Value ist das Vorgabeelement für eine einzellige Range, sollte allerdings der Klarheit wegen trotzdem üblicherweise dazu

Hier eine kurze "Lektion", falls es dich interessiert:

  • Sub MsgBedingtZellinhaltPlusUnbedingtWeiterer()
  • If IsNumeric(ActiveSheet.Range("E1")) Then MsgBox Format(ActiveSheet.Range("E1"), "0.0000") 'Not
  • MsgBox "F1(!): " & Format(ActiveSheet.Range("F1"), "0.0000"): End Sub
  1. 2 VBA-Fkt integriert: IsNumeric() und Format()
  2. Not vor Isnumeric dreht Bedingung um
  3. Textverknüpfung mit & (Festtext + Formelergebnis)
  4. Einzeilige if...then...-Variante, wenn Else/ElseIf/End If nicht erforderlich. Bei Nichtzutreffen der Bedingung gehts einfach weiter im Text (ist weithin unbekannt, da nur unter dieser Voraussetzung sinnvoll). Die zweite MsgBox ist durch die Verknüpfung mit dem Text unterscheidbar
  5. Beachte den DezimalPUNKT in der englischen Zahl, ein Komma würde als Tausendertrennzeichen gelesen(=>andere Dimension!)

Iamiam  01.11.2019, 21:28

Hab noch vergessen: Der : am Ende einer Zeile erlaubt es, die nächste einfach dranzuhängen. Ist aber nicht gleichbedeutend mit Neuer Zeile, da man zB auch in der o.g if-then-Zeile weitere Befehle damit dranhängen kann, zB ": exit Sub", (auch mehrere)