Ich habe einen Kalender, in dem ich einen gewissen Bereich markieren und formatieren möchte. Das Problem hierbei ist, dass der Bereich über zwei TextBoxen auf einem UserForm bestimmt werden soll. In die TextBoxen wird aber nicht A1 oder so eingetragen, sondern ein Datum.
Nach dem klick auf OK soll nun der Bereich von Datum1 (in TextBox1) bis Datum2 (in TextBox2) markiert und die Hintergrundfarbe der Zellen auf rot gesetzt werden.
Leider finde ich hier keine Funktion, eine Datei anzuhängen…
Deswegen hier ein Link zum screenshot, weil die xlsm sich irgendwie auch nicht über meine homepage runterladen lässt:
Hallo Bastian,
gibt es sowas nichts schon fertig in HTML oder einer Websprache?
Nehme an es gibt bereits ein Makro was die Auswahl treffen soll? Aber wenn du die Daten (also z.B. 31.3.) in deinem Kalenderbereich suchen würdest müßte er ja auch gefunden werden.Mit Scriptfunktionen kannst du dann Zeile und Spalte ermitteln und die Markierung vornehmen.
Aber ich würde mal nach einer fertigen Lösung suchen.
Hier findet sich sicher auch was http://www.vbarchiv.net/vblinks/index.php oder hier http://www.activetraining.de/
Ich vermute das soll mal auf einer Website laufen, da wird Excel wohl noch mehr Probleme machen.
Hallo Bastian,
tut mir leid ich habe das Problem noch nicht verstanden.
Dein Kalender ist ein Excelblatt?
Darüber liegen Textboxen in die Eingaben gemacht werden, die dann in das Kalenderblatt eingetragen werden?
oder das Userform ist der Kalender?
Ist das ein VBA Problem (also willst du ein Makro schreiben)?
Auf diesem Blatt ist ein Button, der ein UserForm öffnet.
Auf diesem Userform befinden sich zwei Textfelder (datum1 und datum2) in die der Nutzer jeweils ein Datum eintragen soll.
Wenn dann auf den Button OK geklickt wird, soll der Bereich zwischen Datum1 und Datum2 markiert und eingefärbt werden.
ich treffe mal folgende Annahmen, du müsstest diese an dein konkretes Kalenderblatt anpassen:
Dein Kalenderblatt heißt „Kalender“.
Das Datum steht in diesem Blatt in der Spalte A.
Du willst die ersten 10 Spalten der gefundenen Zeilen rot markieren
Dein UserForm heißt UserForm1.
Der OK-Button auf UserForm1 heißt OK.
Dann würde ich das so machen:
Private Sub CommandButton1\_Click()
Dim ZeileVon, ZeileBis As Long
ZeileVon = FindeDatum(UserForm1.TextBox1.Value)
ZeileBis = FindeDatum(UserForm1.TextBox2.Value)
Worksheets("Kalender").Range(Cells(ZeileVon, 1), Cells(ZeileBis, 10)).Select
Selection.Interior.ColorIndex = 3 ' 3=rot
End Sub
Private Function FindeDatum(Dat As Date) As Long
Dim Zellen As Object
For Each Zellen In Sheets("Kalender").Range("a1:a366")
If Zellen.Value = Dat Then Exit For
Next
FindeDatum = Zellen.Row
End Function
Datvon ist das erste Datum das du in deinem Userform abfrägst (Variable anpassen)
VonZelle merkt sich die Zelle in der das Datum gefunden wird.
Dann wird datbis gesucht also das 2. Datum aus deiner Userform.
Range ist der Bereich zwischen Datvon und Datbis. Die Zahl 244 steht für rot. Da kannst was ausprobieren oder der Farben googeln.