Excel VBA: Wie Inhalt einer Zelle in einer Msgbox anzeigen?
Meine ersten Schritte nach 20 Jahren Pause. Ich will etwas tun, wenn eine Zelle den Text "crash" enthält. Welche Eigenschaft der Zelle ist der Text (VBA)?
2 Antworten
Vom Beitragsersteller als hilfreich ausgezeichnet
na dann, willkommen zurück
Sub main()
MsgBox Excel.ActiveSheet.Cells(1, 1).Value
End Sub
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Microsoft Excel
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
- 2 VBA-Fkt integriert: IsNumeric() und Format()
- Not vor Isnumeric dreht Bedingung um
- Textverknüpfung mit & (Festtext + Formelergebnis)
- 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
- Beachte den DezimalPUNKT in der englischen Zahl, ein Komma würde als Tausendertrennzeichen gelesen(=>andere Dimension!)
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)