20.04.2021, 09:04
Seiten: 1 2
20.04.2021, 09:26
Hallo Felix,
du hast eine If-Abfrage, die mit "Exit Sub" abgeschlossen ist.
Damit wird die nächste Zeile immer ausgeführt.
Dann kommt ein ElseIf. Hier müsste Excel eigentlich meckern, da es zu diesem ElseIf kein einleitendes If gibt...
Gruß,
Lutz
Code:
If Target.Value <> "Entliehen" Then Exit Sub
Cells(Target.Row, Target.Column + 1).Value = Date
ElseIf Target.Value = "Verfügbar" Then
Cells(Target.Row, Target.Column + 1).Value = ""
du hast eine If-Abfrage, die mit "Exit Sub" abgeschlossen ist.
Damit wird die nächste Zeile immer ausgeführt.
Dann kommt ein ElseIf. Hier müsste Excel eigentlich meckern, da es zu diesem ElseIf kein einleitendes If gibt...
Gruß,
Lutz
20.04.2021, 10:26
Hallo Lutz,
hat geklappt, vielen Dank.
Funktioniert jetzt genau so wie ich es mir vorgestellt habe, aber...
(Tabelle im Anhang)
Wenn ich jetzt in Spalte A auf Verüfgbar gehe, leer der die Zelle B komplett, so wie es sein soll.
in Zelle C wähle ich aber über ein Drobdownmenü aus, ob das Buch 7 oder 14 Tage ausgeliehen wird. In Zelle D zeigt er mir dann an, wann
das Buch wieder zurück gegeben werden müsste.
Setze ich also nun in Zelle A das Buch auf Verfügbar, welches vorher entliehen war, dann bleibt in Zelle C die 7 oder 14 aus dem Dropdownmenü stehen und auch das statische Datum in Zelle D. Kann ich auch das irgendwie ändern, dass er wenn verfügbar quasi nicht nur Zelle B sondern auch C und D leert?
Ich bin mir durchaus bewusst, dass solche Foren nicht dafür das sind, dass andere die komplette Arbeit für einen machen. Allerdings bin ich wie gesagt ein Erzieher und habe damit sonst nicht viele Berührungspunkte. Grundsätzlich wäre eine Bibliothekssoftware auch die bessere wahl, diese kann ich aber aufgrund dessen, dass unsere Einrichtung an eine IT-Firma angebunden ist, welche die Software seit 3 Wochen nicht installiert bekommt auf euch Profis angewiesen :)
Ich hoffe also dass du/ ihr mir weiterhelfen könnt.
Vielen dank im Vorraus.
hat geklappt, vielen Dank.
Funktioniert jetzt genau so wie ich es mir vorgestellt habe, aber...
(Tabelle im Anhang)
Wenn ich jetzt in Spalte A auf Verüfgbar gehe, leer der die Zelle B komplett, so wie es sein soll.
in Zelle C wähle ich aber über ein Drobdownmenü aus, ob das Buch 7 oder 14 Tage ausgeliehen wird. In Zelle D zeigt er mir dann an, wann
das Buch wieder zurück gegeben werden müsste.
Setze ich also nun in Zelle A das Buch auf Verfügbar, welches vorher entliehen war, dann bleibt in Zelle C die 7 oder 14 aus dem Dropdownmenü stehen und auch das statische Datum in Zelle D. Kann ich auch das irgendwie ändern, dass er wenn verfügbar quasi nicht nur Zelle B sondern auch C und D leert?
Ich bin mir durchaus bewusst, dass solche Foren nicht dafür das sind, dass andere die komplette Arbeit für einen machen. Allerdings bin ich wie gesagt ein Erzieher und habe damit sonst nicht viele Berührungspunkte. Grundsätzlich wäre eine Bibliothekssoftware auch die bessere wahl, diese kann ich aber aufgrund dessen, dass unsere Einrichtung an eine IT-Firma angebunden ist, welche die Software seit 3 Wochen nicht installiert bekommt auf euch Profis angewiesen :)
Ich hoffe also dass du/ ihr mir weiterhelfen könnt.
Vielen dank im Vorraus.
20.04.2021, 11:25
Hallo Felix,
anbei der angepasste Code:
Bei "Entliehen" fügt der Code in Spalte D eine Formel ein.
Bei "Verfügbar" werden die Werte in Spalte B-D gelöscht.
Damit das Ganze nicht in eine Dauerschleife läuft , werden vor der Änderung die Events (z.B. WorkbokChange) ausgeschaltet und am Ende wieder eingeschaltet.
Gruß,
Lutz
anbei der angepasste Code:
Code:
rivate Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range
If Target.Cells.Count > 1 Then Exit Sub
Set Bereich = Range("A1:A9999")
If Intersect(Target, Bereich) Is Nothing Then Exit Sub
Application.EnableEvents = False
If Target.Value = "Entliehen" Then
Cells(Target.Row, Target.Column + 1).Value = Date
Cells(Target.Row, Target.Column + 3).FormulaR1C1 = "=RC[-2] + RC[-1]"
ElseIf Target.Value = "Verfügbar" Then
Cells(Target.Row, Target.Column + 1).Value = ""
Cells(Target.Row, Target.Column + 2).Value = ""
Cells(Target.Row, Target.Column + 3).Value = ""
End If
Application.EnableEvents = True
Set Bereich = Nothing
End Sub
Bei "Verfügbar" werden die Werte in Spalte B-D gelöscht.
Damit das Ganze nicht in eine Dauerschleife läuft , werden vor der Änderung die Events (z.B. WorkbokChange) ausgeschaltet und am Ende wieder eingeschaltet.
Gruß,
Lutz
Seiten: 1 2