Clever-Excel-Forum

Normale Version: Datum
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo

Im Userform möchte ich folgendes tun
1. Combobox1 mit Jahr füllen
2. Combobox2 mit Monat füllen
3. 7x Label mit Datum zu füllen 
4. Spinbutton damit eine Woche veränderen kann.

Für euche Hilfe Danke Ich jetzt schon

Gruss
Dani
Hi!
Wie stellst Du Dir die Hilfe denn vor?
Füllen einer ComboBox mit diversen Daten:
http://www.snb-vba.eu/VBA_Fill_combobox_listbox_en.html
(Monat und Jahr ziemlich weit unten)

Ansonsten baue Deine Datei nebst UserForm und lade sie hier hoch!
Daraus sollte das Wunschergebnis klar hervorgehen.
Dann helfen wir gerne.

Gruß Ralf
Hallo
Besten Dank

das ganze solle so aussehen
[
Bild bitte so als Datei hochladen: Klick mich!
]


Diese element möchte ich verbinden

Für die Monaten habe ich diesen Code benützt. Nun weiss ich nicht weiter.

Private Sub UserForm_Initialize()
Dim iCounter As Integer
ComboBox2.Clear
For iCounter = 1 To 12
ComboBox2.AddItem Format(DateSerial(1, iCounter, 1), "mmmm")
Next iCounter
ComboBox2.ListIndex = 0
End Sub


Gruss
dani
Hi Dani,

(01.12.2015, 11:25)danspu schrieb: [ -> ]das ganze solle so aussehen
[...]
Für die Monaten habe ich diesen Code benützt. Nun weiss ich nicht weiter.

Das ist aber nicht das, was Ralf geschrieben hat:
Zitat:Ansonsten baue Deine Datei nebst UserForm und lade sie hier hoch!

Also stelle bitte (D)eine (Beispiel-)Tabelle als Excel-Datei zur Verfügung oder stelle die relevanten Ausschnitte hier dar, siehe die als Wichtige Themen: markierten Forums-Beiträge.
Die farbigen Texte sind anklickbare Links:

Hier steht, wie es geht:
Beitrag 1 WICHTIG: Tabellenausschnitte und VBA-Codes im Forum einstellen
Beitrag 2 WICHTIG: Arbeitsmappen zur Verfügung stellen

Eine Bitte:
Anstatt Screenshots ist eine Datei oder ein Ausschnitt besser!
"Du gehst ja auch nicht in die Werkstatt und gibst ein Foto Deines kaputten Autos ab!"
Hi

O.K  habe es soeben hochgeladen

Gruss
Dani
Hi Dani!

(einer muss ja bei 5 Downloads den Anfang machen)

Nur damit ich Dich richtig verstehe:
Du möchtest die Funktionalität einer Tabelle (Stichwort: AutoFilter)
in 7*2*50 = 700 (!) Textboxen auslagern?  :60:

Ich kann mir wirklich nicht vorstellen, wie Du den überflüssigen Monstercode "im Griff" halten willst.
Vielleicht solltest Du Dir tatsächlich zunächst Gedanken darüber machen, was die Tabelle leisten soll.

Ein UserForm sollte der Übersichtlichkeit dienen und eine bequeme Dateneingabe oder -sichtung ermöglichen.
Mit diesem Ungetüm verrennst Du Dich m.E.

Gruß Ralf
Hallo Ralf

Besten Dank für deine Antwort

mit dem habe ich nicht gerechnet o.k
dann muss ich ein combobox mit den 50 Kunden erstellen.
Das wir wohl eine ander geschicht sein.

zurück zu meinen jetzigen Fall.

wie gesagt ich wil 1 Combobox Jahr und eine Combobox Monat mit einem Spinnbutton der die 7 Label (Datum) anspricht.
das ganze ergibt ein Wochenplan
wie ich die ca 50 Kunden verplanen werde ich mir später den Kopf zerbrechen.
step by step.

Noch mals Besten Dank

Gruss
Dani
Hi!
Weil Du hartnäckig bist, habe ich mal was gebastelt.
(Auch, damit Du siehst, was für ein Aufwand damit verbunden ist)
Der Monatsdropdown macht wenig Sinn, entweder Monat oder KW einstellen.
Ich habe es mit der KW gemacht.
Userform mit 2 Dropdowns und sieben Label für die Wochentage.
Ich habe schon Code in eine Function und eine Sub ausgelagert, sonst wäre es noch mehr ...

Option Explicit
Dim Montag As Date, b As Byte

Private Sub UserForm_Initialize()
With ComboBox1
   .List = [index(year(today())-3+row(1:7),)]
   .ListIndex = 2
End With
With ComboBox2
   .List = [index(text(row(1:53),"00"),)]
   .ListIndex = WorksheetFunction.WeekNum(Date, 21) - 1
   Montag = Wochenstart(ComboBox1.Text, .Text)
End With
Call FillLabel
End Sub

Private Sub ComboBox1_Change()
If ComboBox2 = "" Then Exit Sub
Montag = Wochenstart(ComboBox1.Text, ComboBox2.Text)
Call FillLabel
End Sub

Private Sub ComboBox2_Change()
If ComboBox1 = "" Then Exit Sub
Montag = Wochenstart(ComboBox1.Text, ComboBox2.Text)
Call FillLabel
End Sub

Private Sub CommandButton1_Click()
Unload Me
End Sub

Private Function Wochenstart(Jahr As String, KW As String) As Date
Wochenstart = DateValue("4.1." & Jahr) + KW * 7 - 7 - DateValue("2.1." & Jahr) Mod 7
End Function

Private Sub FillLabel()
For b = 0 To 6
   Me.Controls("Label" & b + 3).Caption = Format(Montag + b, "ddd, dd.mm.yyyy")
Next
End Sub

Datei im Anhang.

Gruß Ralf
Hallo Dani,

Step by Step ist der falsche Weg!

Wie Ralf schon schrieb, sollte als erstes das Konzept stehen: Was will ich erreichen, wie soll das aussehen und was habe ich für eine Ausgangssituation dafür - dann kann man sich Step by Step an das gewollte Ergebnis herantasten.

Also erst ein Muster des gewollten Ergebnisses entwerfen, dann kann man das notwendige Drumherum gestalten, alles andere führt zum ständigen Änderungs- und Anpassungsdienst.
Hallo Ralf

Ralf es ist genau das was ich gesucht haben Danke dir 1000 mal dafür.


Hallo Glausius

Ich habe schon ein Konzept nur die Grösse ist enorm.
 es sollte ein monatsplan sein ich habe Ihn jetzt auf eine Woche reduziert

Noch mals vielen Dank
Gruss
Dani