Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

ControlSource auslesen

Betrifft: ControlSource auslesen von: Peter
Geschrieben am: 30.07.2014 08:41:16

Hallo,

ich habe in Spalte A (1-77) die Namen von Textfeldern eines userforms (Userform2).

Jetzt möchte ich mit einer Schleife von jedem Textfeld die ControlSource-Eigenschaft auslesen und jeweils neben den Namen in Spalte B eintragen.
Ich weiß, dass es irgendwie mit Controls gehen muss, kriegs aber nicht hin.

Vielen Dank für jede Hilfe!

Gruß Peter

  

Betrifft: AW: ControlSource auslesen von: Martin
Geschrieben am: 30.07.2014 08:52:12

Hallo Peter,

für TextBoxen gibt es keine ControlSource-Eigenschaft, vermutlich meinst du ComboBoxen?! Wie auch immer, so sollte es klappen:

Private Sub CommandButton1_Click()
    Dim i As Integer
    Dim objControl As Object
    
    For i = 1 To 77
        For Each objControl In Me.Controls
            If Trim(LCase(objControl.Name)) = Trim(LCase(Cells(i, 1))) Then
                Cells(i, 2) = objControl.ControlSource
                Exit For
            End If
        Next
    Next i
    
End Sub
Viele Grüße

Martin


  

Betrifft: keine ControlSource-Eigenschaft von: Rudi Maintaire
Geschrieben am: 30.07.2014 10:00:31

Hallo,
in Userforms schon.

Gruß
Rudi


  

Betrifft: AW: keine ControlSource-Eigenschaft von: Martin
Geschrieben am: 30.07.2014 11:01:19

Hallo Rudi,

okay, da habe ich auch wieder was dazugelernt. Danke!

Viele Grüße

Martin


  

Betrifft: dazugelernt: das war der Plan owT von: Rudi Maintaire
Geschrieben am: 30.07.2014 11:15:00




  

Betrifft: AW: ControlSource auslesen von: Hajo_Zi
Geschrieben am: 30.07.2014 08:53:29

Hallo Peter,

Option Explicit

Private Sub CommandButton1_Click()
    Dim Loletzte As Long
    Dim LoI As Long
    On Error Resume Next
    Loletzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows. _
Count)
    For LoI = 1 To Loletzte
        If Cells(LoI, 1) <> "" Then
            Cells(LoI, 2) = Controls(CStr(Cells(LoI, 1))).ControlSource
        End If
    Next LoI
    On Error GoTo 0
End Sub
GrußformelHomepage


  

Betrifft: AW: ControlSource auslesen von: Peter
Geschrieben am: 30.07.2014 09:27:33

Hallo Martin, hallo Hajo,

vielen Dank für Eure Hilfe, funktioniert perfekt!!!

Martin, bei meinen Textboxen gibt es die ControlSource-Eigenschaft (Sonst könnte sie dein ja Makro nicht auslesen)

Gruß Peter









  

Betrifft: AW: ControlSource auslesen von: Martin
Geschrieben am: 30.07.2014 11:05:48

Hallo Peter,

du hast Recht, das war mein Fehler. Ich war wirklich der festen Überzeugung, dass für Textboxen die ControlSource-Eigenschaft nicht zur Verfügung steht.
Aber: Ich habe bei meinem Makro bewusst nicht den Control-Typ abgefragt. Mein Makro hätte also auch funktioniert, wenn du statt TextBoxen tatsächlich ComboBoxen verwendet hättest.

Viele Grüße

Martin


 

Beiträge aus den Excel-Beispielen zum Thema "ControlSource auslesen"