So, ich habe mir selbst geholfen und einen Commandbutton
erstellt, der eine Userform öffnet, dort sind 4 „Label“
enthalten und 4 Textboxen.
Wie kann ich nun den Inhalt einer Spalte, nämlich der
aktuellen Kalenderwoche dort transferieren?
Hallo,
nutze das Userform_Initialize-Ereignis, um die Textboxen vor dem Anzeigen des Formulars zu belegen.
Habe leider aus Deiner Fragestellung nicht so richtig entnehmen können, ob die Daten spalten- oder zeilenweise angeordnet sind. Deshalb mal ein Beispielcode für beide Varianten:
A B C D
1 Kalenderwoche Wert1 Wert2 Wert3
2 12 12 11 25
3 44 35 36 37
4 47 99 88 77
Code:
Private Sub UserForm\_Initialize()
Dim zeile As Double
Dim blatt As Worksheet
Set blatt = ThisWorkbook.Worksheets("Tabelle1")
With blatt
For zeile = 2 To .UsedRange.Rows.Count
If .Cells(zeile, 1).Value = CInt(Format(Now(), "ww")) Then
TextBox1.Value = .Cells(zeile, 2).Value
TextBox2.Value = .Cells(zeile, 3).Value
TextBox3.Value = .Cells(zeile, 4).Value
Exit For
End If
Next zeile
End With
End Sub
oder:
A B C D
1 Kalenderwoche 12 44 47
2 Wert1 12 35 99
3 Wert2 11 36 88
4 Wert3 25 37 77
Code:
Private Sub UserForm\_Initialize()
Dim spalte As Double
Dim blatt As Worksheet
Set blatt = ThisWorkbook.Worksheets("Tabelle1")
With blatt
For spalte = 2 To .UsedRange.Columns.Count
If .Cells(1, spalte).Value = CInt(Format(Now(), "ww")) Then
TextBox1.Value = .Cells(2, spalte).Value
TextBox2.Value = .Cells(3, spalte).Value
TextBox3.Value = .Cells(4, spalte).Value
Exit For
End If
Next spalte
End With
End Sub
Hoffe das hilft weiter.
Viele Grüße, tester!