Wie kann ich ein Textfeld (Steuerelement) in einem Excel-Tabellenblatt mit VBA auslesen?

Hallo Expertinnen und Experten,
ich habe eine Excel-Tabelle ist als Rechnungsformular eingerichtet. Das Adressfeld ist als Textfeld (angezeigter Name: Textfeld4) konzipiert. Die Rechnungsdaten werden später per VBA in ein Journal übertragen. Das funktioniert mit den Daten in der Tabelle einwandfrei. Wie aber bekomme ich den Namen aus dem Textfeld ausgelesen. Wie muss das Textfeld angesprochen werden?

So z. B.:

Inhalt = ActiveSheet.Shapes("Textfeld 4").TextFrame2.TextRange.Text     ' oder:   
Inhalt = ActiveSheet.Shapes("Textfeld 4").TextFrame.Characters.Text
MsgBox Inhalt

Vielen Dank, Niclaus Wurthberg!
Das funktioniert.
Und wie bekomme ich den Inhalt einer bestimmten Zeile des Textfeldes? Ich möchte nur den Namen aus Zeile 5. Zeile 1 = Absender, Zeilen 2-4 leer.
Danke und beste Grüße Rudi

Hallo Rudi

Damit es ganz klar ist: Dein Textfeld 4 schaut so aus:
Textfeld

Die einzelnen Zeilen sind mit RETURN/ENTER abgetrennt. Zeilenumbruch = Chr(10) im folgenden Makro.

Das folgende Makro gibt entsprechend dem Wert der Variablen „suchz“ die gewünschte Zeile aus . Hier: suchz = 5

Bei mir klappt’s. Ich hoffe, bei Dir auch. Grüsse Niclaus

Sub m2aaa()
    Dim sText As String, vX As Variant, i As Long
    Dim suchz As Long, BestZeile As String
    suchz = 5           ' Zeile, die ausgegeben werden soll.
    sText = ActiveSheet.Shapes("Textfeld 4").TextFrame2.TextRange.Text
    vX = Split(sText, Chr(10))
    For i = 0 To UBound(vX)
'        MsgBox vX(i)   ' nennt alle Zeilen der Reihe nach
    Next i
    BestZeile = vX(suchz - 1)
         MsgBox BestZeile
End Sub

Hallo Niclaus,
genial mit Split(… gelöst. Ich hatte das inzwischen mühselig mit 3 For/Next Schleifen versucht.

Nochmal vielen Dank und Grüße
Rudi