Forum Discussion
Reservationstool Excel
Hallo Nikola, damit der Vergleich funktioniert, müssen deine Eingaben nicht als Text sondern als Zahl bzw. Uhrzeit erfolgen. Also Stunden + Doppelpunkt + Minuten. Excelintern ist das eine Zahl und damit lässt sich dann auch arbeiten. Du hast einen Text geschrieben "9.15 Uhr". Das geht nicht. Du kannst dir aber die Zelle im Uhrzeitformat mit Benutzerdefinierten Formaten erstellen wie du willst. Bei der Eingabe musst du dich aber an das vorgegebene Format halten damit Excel deine Eingabe als Uhrzeit interpretieren kann.
Ich habe die Formel mit Sumenprodukt() erstellt, damit keine Hilfsspalte benötigt wird. Die Zelle F4 enthält den Hinweis "Ja" falls bereits gebucht und "Nein" wenn frei. Zusätzlich habe ich die bedingte Formatierung verwendet um bei Ja auch noch rot einzufärben.
Schau dir meine Beispieldatei an und teste die Formel.
=WENN(SUMME(SUMMENPRODUKT(--(C4=C8:C25);--(D4>=D8:D25);--(D4<E8:E25));SUMMENPRODUKT(--(C4=C8:C25);--(D4<=D8:D25);--(E4>D8:D25)))>0;"Ja";"Nein")bzw. in englisch:
=IF(SUM(SUMPRODUCT(--(C$4=C8:C25),--(D$4>=D8:D25),--(D$4<E8:E25)),SUMPRODUCT(--(C$4=C8:C25),--(D$4<=D8:D25),--(E$4>D8:D25)))>0,"Ja","Nein")
Ich hoffe das passt so für dich.
Du hast mir sehr weitergeholfen! Vielen herzlichen Dank, es läuft alles bestens. Nun habe ich aber noch etwas... Ich möchte es hinbringen, dass das VBA die Zeile 4 komplett kopiert und die nächste freie Zeile einfügt. Ebenso sollte er den Hintergrund transparent färben, damit das Grau nicht mitkommt. Könntest du mir evtl. dabei behilflich sein?
- HansVogelaarDec 08, 2022MVP
Versuchen Sie
Sub ZeileKopieren() Dim r As Long r = Range("C" & Rows.Count).End(xlUp).Row + 1 Range("A4").EntireRow.Copy Range("A" & r).PasteSpecial xlPasteValuesAndNumberFormats Application.CutCopyMode = False End Sub