Zelleninhalt anzeigen beim Öffnen/Button

Hallo,

ich habe VBA mittlerweile aus Mangel an Anwendung ein wenig verlernt und hoffe, hier Hilfe zu bekommen.

In meiner Excel-Tabelle sind in einer Zeile Zahlen aufgeführt und in Spalten nach Kalenderwochen sortiert.

Nun möchte ich anhand von CommandButtons, das dem Anwender mit einem Klick auf die entsprechenden Buttons der Inhalt bestimmter Zellen angezeigt wird, und zwar immer von der aktuellen Kalenderwoche.

Ist das möglich?

Vielen Dank und Gruß
Marcel

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?

Gruß
Marcel

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

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!