Zelleninhalt in Textfeld übernehmen. In Excel mögl?

Abaddon4tk

Lieutenant
Registriert
Juni 2004
Beiträge
1.001
Ich möchte dass Wörter, die ich in Zelle A1 schreibe in ein bestimmtes Textfeld übernommen werden.

Geht das?

Habe mal ein Bsp. angehängt.
 

Anhänge

  • test.jpg
    test.jpg
    5,6 KB · Aufrufe: 657
Moin,

füge in die Tabelle (!) dieses Makro ein:
Code:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
   Dim strText As String
   
   If Target = Range("A1") Then
      strText = Range("A1").Value
      ActiveSheet.Shapes("Rectangle 1").Select
      Selection.Characters.Text = strText
      Range("A1").Select
   End If
End Sub
Dann klappt das auch ...

Den Namen der Textbox (hier: Rectangle 1) musst du natürlich noch anpassen. Du erfährst ihn am sichersten, wenn du ein Makro aufzeichnest, welches in genau die Textbox etwas schreibt.
 
Hallo,
danke für deine Antwort, ich habe es nun so gelöst:

Textbox erstellen:

Code:
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 700, 10, 200, 50).Name = "Test_Textbox_1"

Inhalt kopieren:

Code:
With ActiveSheet.Shapes("Test_Textbox_1")
          
                   .TextFrame2.TextRange = Range("B7")

    End With

Nun wäre meine Frage wie ich den Inhalt unterschiedlicher Zellen in unterschiedliche Zeilen der Textbox bekomme.

Siehe Anhang.

Danke schon mal!

EDIT:

Ach ich hab noch was:
Ist es möglich das Textfeld auch anzusprechen wenn es sich in einem anderen Tabellenblatt befindet?
Einfach kopieren geht leider nicht :-/
 

Anhänge

  • test2.jpg
    test2.jpg
    6,9 KB · Aufrufe: 371
Wenn du es auf einem anderem Tabellenblatt hast, kopierst du einfach die entsprechende Zelle, setzt das andere Tabellenblatt auf aktiv und fügst dann den Inhalt ein.

Welches Zeichen zu einer neuen Zeile führt ermittelst du auch am einfachsten mit dem Aufzeichnen eines Makros.
 
Ist es möglich das Textfeld auch anzusprechen wenn es sich in einem anderen Tabellenblatt befindet?

Ja ...
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim strText As String

If (Target = Range("A1")) OR Target = Range("B5") Then
strText = Range("A1").Value & VbCrLf & Range("B5").Value
Sheets("Tabelle2").Shapes("Rectangle 5").Select
Selection.Characters.Text = strText
Range("A1").Select
End If
End Sub
Ungeprüft, sollte aber hinhauen. Eventuell musst du vorher doch
Code:
Sheets("Tabelle2").Activate
verwenden, ich tue es in solchen Situationen eigentlich immer.

Und ach ja, ich "stehe" auf Code, der mehr Zeilen als unbedingt erforderlich ist, denn meist ist er besser lesbar und auch leichter anzupassen :).
 
Zurück
Oben