Excel 2010: Kalender Bereich markieren

Hallo.

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.

Hoffe, das war verständlich genug.

Vielen Dank schonmal,

Bastian

Hallo,
da ich den Kalender nicht kenne kann ich da leider nicht helfen…
Gruß und viel Erfolg.
Armin

Servus,

so wie ich die Anfrage verstanden habe ist das ganz einfach - Bedingte Formatierung

Bedingte Formatierung aufrufen, eingeben
Zellwert größer „“ Formatierung eintragen

Wenn nun in die Zelle ein Wert eingetragen wird, verändert sich der Hintergrund der Zelle.

Grüße
Baptist

Hallo.

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:

http://fewo-erens.de/kalender.png

Hoffe, das hilft weiter

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.

Gruß Armin

Hallo Armin

Das soll in Excel bleiben und bei mir auf dem Rechner laufen.

Der Kalender ist nur ein Teil von einem ganzen Verwaltungstool für meine FeWo.

Für die Homepage hab ich einen php-Kalender.

Aber da im Moment nichtmal ein Certified Excel Expert helfen kann, ist das wohl doch etwas komplizierter, als ich vermutet hätte.

Trotzdem Danke :smile:

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)?

Gruß
Gerhard

Bitte stelle die Frage an einen Experten. Ich kann da leidern nicht weiterhelfen. Viel Erfolg.

Gruß

Hallo Bastian,
ich kann Dir nicht helfen.
Beste Grüße
BFR

das ist ohne VBA-Programmierung sicher nicht möglich

Hallo Gerhard

Ja, mein Kalender ist ein Excel-Tabellenblatt.

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.

Gruß,
Bastian

Hallo Bastian,

ich treffe mal folgende Annahmen, du müsstest diese an dein konkretes Kalenderblatt anpassen:

  1. Dein Kalenderblatt heißt „Kalender“.
  2. Das Datum steht in diesem Blatt in der Spalte A.
  3. Du willst die ersten 10 Spalten der gefundenen Zeilen rot markieren
  4. Dein UserForm heißt UserForm1.
  5. 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

Gruß, BellHouse

Probiers doch mal damit:

Private Sub Ok_Click()

Cells.Find(what:=Datvon).Activate
VonZelle = ActiveCell.Address
Cells.Find(what:=Datbis).Activate
Range(VonZelle & „:“ & ActiveCell.Address).Interior.Color = 244

Unload Me

End Sub

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.

Gruß
Gerhard