Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

mit VBA eine Combobox mit Datums füllen

1,081 views
Skip to first unread message

Thomas Eisenmann

unread,
Jan 27, 2010, 4:11:02 AM1/27/10
to
Hallo alle miteinander,

Ich habe auf ein Arbeitsplatz mit der Steuerelement-Toolbox eine Combobox
mit dem Namen: Combobox1 platziert. Wie sieht der Script aus, welcher beim
öffnen der Excel-Datei diese Combobox mit Werten füllt. Ich möchte, dass das
Datum der nächsten 12 Freitage in der Combobox1 steht.

Fr. 05.02.2010
Fr. 12.02.2010
.
.
.
Fr. 23.04.2010

Könnt Ihr mir helfen bei der Umsatzung? Danke im Voraus

Danke im Voraus
Grüße Thomas


Andreas Killer

unread,
Jan 27, 2010, 6:18:41 AM1/27/10
to
On 27 Jan., 10:11, Thomas Eisenmann
<ThomasEisenm...@discussions.microsoft.com> wrote:

> Ich habe auf ein Arbeitsplatz mit der Steuerelement-Toolbox eine Combobox

Auf ein Arbeitsplatz??? Du meinst eine Tabelle, oder?

> mit dem Namen: Combobox1 platziert. Wie sieht der Script aus, welcher beim
> öffnen der Excel-Datei diese Combobox mit Werten füllt. Ich möchte, dass das
> Datum der nächsten 12 Freitage in der Combobox1 steht.
>
> Fr. 05.02.2010

Ausgehend von heute wäre den nächste Freitag aber der 29.1.2010,
oder? ;-)

Andreas.

Private Sub Workbook_Open()
Dim Datum As Date, Tag As Integer
'Heute
Datum = Date
'Wochentag holen
Tag = Weekday(Datum, vbUseSystemDayOfWeek)
'Nächsten Freitag berechnen
Select Case Tag
Case 5
'Okay, heute ist Freitag
Case Is < 5
Datum = Datum + 5 - Tag
Case Else
Datum = Datum + Tag - 7 + 5
End Select
'Die nächsten 12 Freitage hinzufügen
For Tag = 1 To 12
Sheets(1).ComboBox1.AddItem Datum
Datum = Datum + 7
Next
End Sub

Peter Schleif

unread,
Jan 27, 2010, 7:16:37 AM1/27/10
to
Thomas Eisenmann schrieb am 27.01.2010 10:11 Uhr:
>
> Ich habe auf ein Arbeitsplatz mit der Steuerelement-Toolbox eine Combobox
> mit dem Namen: Combobox1 platziert. Wie sieht der Script aus, welcher beim
> öffnen der Excel-Datei diese Combobox mit Werten füllt. Ich möchte, dass das
> Datum der nächsten 12 Freitage in der Combobox1 steht.

Ich habe mal zwei Versionen notiert. Die erste Prozedur füllt die
ComboBox mit den reinen Datumswerten – wie schon bei Andreas.

Die zweite Version hängt noch eine zweite Spalte mit dem formatierten
Datum an. Der Wert steht in der unsichtbaren ersten Spalte. So kannst Du
mit dem Wert ComboBox1.Value rechnen und hast trotzdem eine formatierte
Anzeige. Der Wochentag ist zwar immer "Fr." - aber genau so hattest Du
es ja in deinem Posting geschrieben.

Peter

Sub ComboBoxFuellen1()
Dim i As Integer

Sheets(1).ComboBox1.Clear
For i = 1 To 12
Sheets(1).ComboBox1.AddItem Int(Date / 7) * 7 - 1 + i * 7
Next
End Sub


Sub ComboBoxFuellen2()
Dim i As Integer
Dim datum As Date

With Sheets(1).ComboBox1
.ColumnCount = 2
.ColumnWidths = "0cm;3cm"
.Clear
For i = 1 To 12
datum = Int(Date / 7) * 7 - 1 + i * 7
.AddItem datum
.List(.ListCount-1,1) = Format(datum, "DDD, DD.MM.YYYY")
Next
End With
End Sub

Thomas Eisenmann

unread,
Jan 28, 2010, 2:56:02 AM1/28/10
to
Hallo Andreas, hallo Peter,

super Antworten. Hat mir sehr geholfen!

Grüße Thomas

"Peter Schleif" wrote:

> .
>

0 new messages