Ich versuche Excel haben die Anzahl der Tage zu berechnen, wenn zwei Datumsbereiche gegeben. Das Makro funktioniert eigenständig, aber ich habe Probleme, das Makro auszuführen, wenn die Zellen geändert werden, die die Daten enthalten. Dies ist der Code, den ich derzeit haben:DateDiff Kontingent bei Zellenwechsel
Public sub Worksheet_Change(ByVal Target As Range)
If Target.Address="$C$32" Then Sheet1.pdates
End If
End Sub
Public sub pdates()
Dim pdates as Integer
Dim pdates2 as Integer
pdates=DateDiff("d",[D32],[F32])
pdates2=DateDiff("d",[H32],[J32])
[L32]=pdates+pdates2
End Sub
Wenn ich Lauf drücken, werden Sie gefragt, ob ich Sheet1.pstubs ausgeführt werden soll, erlaubt aber nicht die Möglichkeit, die Worksheet_Change Code ausgeführt wird. Ich denke, ich könnte das (ByVal Target as Range) falsch verwenden. Irgendein Rat?
Vielen Dank!
Welche Zellen Daten enthalten? Und wie werden diese Daten geändert? Manuell? Oder haben die Zellen Formeln? Und ist 'pdates' Sub in' Sheet1' Modul geschrieben? Es scheint auch, dass eine Formel in der Tabelle anstelle von VBA-Code funktionieren könnte. –
Sie sind beide in Blatt 1 geschrieben und die Daten würden im Blatt manuell geändert werden. Der Code für pdates funktioniert, wenn ich ihn ausführe, aber ich kann ihn nicht ausführen, wenn sich das Datum in Zelle C32 ändert. – Kim
'aber ich kann es nicht ausführen, wenn sich das Datum in Zelle C32 ändert -> was passiert? Haben Sie zeilenweise debuggen, um zu sehen, warum es nicht läuft? –