Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1960to1964
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Text an Textfeld gemäß Abfrage ansteuern, VBA Code

Text an Textfeld gemäß Abfrage ansteuern, VBA Code
14.01.2024 21:39:00
Trend Lever
Ich habe eine simple Excel Tabelle. Der Tabellenkopf befindet sich in Zeile 1 und beinhaltet in Spalte A "Autobahn" in Spalte B "Länge" und Spalte C "Text" in Zeile 2-5 sind 4 Autobahnen aufgeführt mit den jeweiligen Angabe zu Länge und im Text die Beschreibung der Autobahn in Textform. In der Zelle D2 soll eine Abfrage erfolgen. Wenn in D2 eine der 4 in Spalte A genannten Autobahnbezeichnungen identisch ist, soll Excel die jewilige Textbeschreibung aus Spalte C in einem Textfeld wiedergeben. Ich habe bereits im Menüpunkt Entwicklertools ein Active X Steuerelement - Textfeld eingefügt. Der VBA Code für das Makro, den ich mir bei ChatGPT erfragt habe, funktioniert nicht. Dieser lautet wie folgt:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim selectedAutobahn As String
Dim autobahnRange As Range
Dim description As String
Dim textBox As OLEObject

' Definiere den Bereich für die Autobahnen (Annahme: Daten in den Zellen A2:A5)
Set autobahnRange = Range("A2:A5")

' Überprüfe, ob die Änderung in der Zelle D2 stattgefunden hat
If Target.Address = "$D$2" Then
' Hole den ausgewählten Autobahn-Namen
selectedAutobahn = Target.Value

' Überprüfe, ob der ausgewählte Autobahn-Name in der Liste vorhanden ist
If Application.WorksheetFunction.CountIf(autobahnRange, selectedAutobahn) > 0 Then
' Finde die Zeile, in der der Autobahn-Name gefunden wurde
Dim foundRow As Long
foundRow = autobahnRange.Find(What:=selectedAutobahn, LookIn:=xlValues, LookAt:=xlWhole).Row

' Hole die entsprechende Textbeschreibung aus Spalte C
description = Cells(foundRow, 3).Value

' Aktualisiere das Textfeld mit der Textbeschreibung
Set textBox = ActiveSheet.OLEObjects("TextBox1") ' Ersetze "TextBox1" durch den Namen deines Textfelds
textBox.Object.Text = description
Else
' Setze das Textfeld auf leer, wenn der Autobahn-Name nicht gefunden wurde
Set textBox = ActiveSheet.OLEObjects("TextBox1")
textBox.Object.Text = ""
End If
End If
End Sub

Ich finde den Fehler nicht. Vllt hat jemand eine Idee ? Vielen Dank im Voraus.
https://www.herber.de/bbs/user/166068.xlsm

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text an Textfeld gemäß Abfrage ansteuern, VBA Code
14.01.2024 21:59:10
Crazy Tom
moin

du hast einen Commandbutton eingefügt und ihn Textbox1 genannt

soll der Text also in dem Commandbutton als Text erscheinen?

mfg Tom
AW: Text an Textfeld gemäß Abfrage ansteuern, VBA Code
14.01.2024 22:03:52
Crazy Tom
tja...

so schaut dafür der Code aus

Private Sub TextBox1_Click() '-- so heißt der Commandbutton

Dim c As Range
Set c = Columns(1).Find(Range("D2").Value, LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
TextBox1.Caption = Cells(c.Row, 3).Value
End If
End Sub


mfg Tom
AW: Text an Textfeld gemäß Abfrage ansteuern, VBA Code
14.01.2024 22:05:44
Trend Lever
Ja es kann auf dem Commandbutton erscheinen, es aber kann auch ein normales Textfeld sein. Mit einem normalen Textfeld funktioniert der Code auch nicht.
Anzeige
AW: Text an Textfeld gemäß Abfrage ansteuern, VBA Code
14.01.2024 22:10:59
Trend Lever
Vielen Dank Tom, Es funktioniert gut!
AW: Text an Textfeld gemäß Abfrage ansteuern, VBA Code
15.01.2024 07:48:26
Crazy Tom
moin

der Vollständigkeit halber

bei klick auf einen Commandbutton den Text in eine (Multiline)Textbox

Private Sub CommandButton1_Click()

' bei langen Texten in den Eigenschaften der Textbox: Multiline auf true
Dim c As Range
Set c = Columns(1).Find(Range("D2").Value, LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
TextBox1.Value = Cells(c.Row, 3).Value
End If
End Sub


mfg Tom

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige