Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 11:16:26
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Textfeld per VBA zuweisen

Forumthread: Textfeld per VBA zuweisen

Textfeld per VBA zuweisen
Peter
Hallo!
In Anlehnung an meine Frage unten, kann ich ein Textfeld per VBA so bearbeiten,
dass ich innerhalb einer laufenden Nummer per Doppel-Klick auf zB Nummer 1 in A8 (Tabellenblatt 1 - "Test"), entsprechend der vorher abgelegten Info zu Nummer 1 in einem Textfeld, im Tabellenblatt 2 - "Ausgabe" selbiges Textfeld angezeigt bekomme?
Beispiel: Doppelklick auf A8 (Nummer 1) -- im 2. Tabellenblatt erscheint der Text, Kommentar etc. zu Nummer 1; Doppelklick auf A20 (Nummer 13) -- im 2. Tabellenblatt erscheint der Text, Kommentar etc. zu Nummer 13 - jeweils als Textfeld.
Wie kann ich das am elegantesten umsetzen?
Vielen DANK für eure Mühe!
Gruß
Peter M.
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Textfeld per VBA zuweisen
29.10.2009 06:13:34
fcs
Hallo Peter,
ja das geht. Die Textfelder im Blatt Ausgabe müssen dann einen einheitlichen Namen haben gefolgt von den Nummern im Blatt "Test".
Die folgenden Prozeduren muss du im VBA-Editor unter dem Tabellenblatt "Test" einfügen.
Gruß
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim objShape As Shape, wksAusgabe As Worksheet, strNameTextFeld As String
With Target
If .Column = 1 And .Row >= 1 Then
If IsNumeric(.Value) And .Value  "" Then
Cancel = True
Set wksAusgabe = Worksheets("Ausgabe")
strNameTextFeld = "Textfeld " & Target.Value 'Zeichen für Name ggf. anpassen
If fncCheckShape(wks:=wksAusgabe, ShapeName:=strNameTextFeld) Then
Set objShape = wksAusgabe.Shapes(strNameTextFeld)
Application.Goto Reference:=objShape.TopLeftCell, Scroll:=True
Else
MsgBox "Textfeld """ & strNameTextFeld & """ gibt es im Blatt """ _
& wksAusgabe.Name & """ nicht!"
End If
End If
End If
End With
End Sub
Function fncCheckShape(wks As Worksheet, ShapeName As String) As Boolean
'Prüfung, ob Shape mit angegebenem Namen im Worksheet existiert
Dim objShape As Shape
For Each objShape In wks.Shapes
If LCase(objShape.Name) = LCase(ShapeName) Then
fncCheckShape = True
Exit Function
End If
Next
End Function

Anzeige
AW: Textfeld per VBA zuweisen
29.10.2009 20:56:51
Peter
Vielen DANK für Deine Hilfe!
Eine Nachfrage:
Wie kann ich es einrichten, dass nur das jeweilige angewählte Textfeld
angezeigt wird, aber ansonsten die anderen Textfelder ausgeblendet bleiben?
Vielen Dank!
Gruß
Peter M.
AW: Textfeld per VBA zuweisen
30.10.2009 04:05:37
fcs
Hallo Peter,
mit folgender Anpassung der Hauptprozedur erfolget das entsprechende Ein- bzw. Ausblenden der Textfelder.
Gruß
Franz
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim objShape As Shape, wksAusgabe As Worksheet, strNameTextFeld As String
With Target
If .Column = 1 And .Row >= 1 Then
If IsNumeric(.Value) And .Value  "" Then
Set wksAusgabe = Worksheets("Ausgabe")
Cancel = True
strNameTextFeld = "Textfeld " & Target.Value 'Zeichen für Name ggf. anpassen
If fncCheckShape(wks:=wksAusgabe, ShapeName:=strNameTextFeld) Then
'Alle Textfelder ausblenden
For Each objShape In wksAusgabe.Shapes
If Left(objShape.Name, 9) = "Textfeld " And objShape.Visible = True Then
objShape.Visible = False
End If
Next
'gesuchtes Feld einblenden und ansteuern
Set objShape = wksAusgabe.Shapes(strNameTextFeld)
objShape.Visible = True
Application.Goto Reference:=objShape.TopLeftCell, Scroll:=True
Else
MsgBox "Textfeld """ & strNameTextFeld & """ gibt es im Blatt """ _
& wksAusgabe.Name & """ nicht!"
End If
End If
End If
End With
End Sub

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige