Namen einer Textbox an Funktion übergeben

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
TextBox
Bild

Betrifft: Namen einer Textbox an Funktion übergeben
von: PQuest:-)
Geschrieben am: 15.10.2015 10:14:44

Hallo,
gleich noch eine Frage hinterher.
Ich habe einen tollen Code im Internet gefunden um Datumsangaben per Klick in einem Kalender auszuwählen.In dem Originalcode wird nur mit einer Ausgabezelle (C4) gearbeitet und das Kalendertool wird mit Klick auf eine Schaltfläche geöffnet.
Diesen Code würde ich gern so verwenden, dass ich auf ein Textfeld klicke und das Kalendertool öffnet sich. Hierbei soll der Name des Textfeldes mitgegeben werden und das ausgewählte Datum soll danach in die Textbox geschrieben werden. So sieht der Originalcode aus:

Public Sub PickDate() 'Aufruf des Tools über eine Schaltfläche
    Call DatePick.DatePickinRange(Range("C4"))
End Sub
Und das sind die Programmteile, die den Wert zurückschreiben:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    On Error GoTo Recover
    If Target.Cells.count = 1 Then
        If IsDate(Target.value) Then
            SF_DatePick.DatePickinRange Target
            Cancel = True
            Exit Sub
        End If
    End If
Recover:
End Sub
Public Sub DatePickinRange(DRange As Range, _
                          Optional FormatTxT As String = "", _
                          Optional Language As String = "", _
                          Optional HolidayLocation As String = "", _
                          Optional ThreeMonthFlag As Boolean = False)
    Dim TVar As Variant, DOut As Variant
    TVar = DRange.value
    If IsDate(TVar) = True Then
        DOut = DatePick(CDate(TVar), FormatTxT, Language, HolidayLocation, ThreeMonthFlag)
    Else
        DOut = DatePick(Now, FormatTxT, Language, HolidayLocation, ThreeMonthFlag)
    End If
    If DOut = False Then
        'Nothing
    ElseIf DRange.value <> DOut Then
        DRange.value = DOut
    End If
    Set TVar = Nothing
    Set DOut = Nothing
End Sub

Public Sub DatePickinCtl(InputCtl As Control, _
                         Optional FormatTxT As String = "dd.mm.yyyy", _
                         Optional Language As String = "", _
                         Optional HolidayLocation As String = "", _
                         Optional ThreeMonthFlag As Boolean = False)
    Dim TVar As Variant, DOut As Variant
    TVar = InputCtl.value
    If IsDate(TVar) = True Then
        DOut = DatePick(CDate(TVar), FormatTxT, Language, HolidayLocation, ThreeMonthFlag)
    Else
        DOut = DatePick(Now, FormatTxT, Language, HolidayLocation, ThreeMonthFlag)
    End If
    If DOut = False Then
        'Nothing
    ElseIf InputCtl.value <> DOut Then
        InputCtl.value = DOut
    End If
    Set TVar = Nothing
    Set DOut = Nothing
End Sub

Meine Fragen:
1. Wie kann ich dem befehl den Namen einer Textbox anstelle der Range übergeben?
2. Wie kann ich den ausgewählten Wert wieder in die Textbox zurückschreiben?
Gruß,
PQuest:-)

Bild

Betrifft: AW: Namen einer Textbox an Funktion übergeben
von: Uduuh
Geschrieben am: 15.10.2015 19:18:41
Hallo,
letztlich genauso.

Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
  If IsDate(TextBox1) Then
    Cancel = True
    SF_DatePick.DatePickinRange TextBox1
  End If
End Sub

und weiter in dem Sinne
Gruß aus’m Pott
Udo


Bild

Betrifft: AW: Namen einer Textbox an Funktion übergeben
von: PQuest:-)
Geschrieben am: 15.10.2015 19:57:08
Besten Dank :-)

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Namen einer Textbox an Funktion übergeben"