Herbers Excel-Forum - das Archiv
Zell-Werte automatisch ohne Button ändern

|
Betrifft: Zell-Werte automatisch ohne Button ändern
von: Martin
Geschrieben am: 26.09.2003 19:59:18
Hi Leute,
ich hätte da mal eine große Bitte: Ich möchte auf einem Tabellenblatt in einer Zelle das additive Ergebnis aus zwei anderen Zellen darstellen. Dabei soll aber nicht erst ein Knopf gedrückt werden, sondern immer dann, wenn der Anwender in eine Zelle etwas einträgt, soll der Code abgearbeitet werden. Mit der Bedingten Formatierung läßt sich das nicht mehr hinbekommen, da nur dann gerechnet werden soll, wenn in beiden Zellen auch was steht.
Dabei handelt es sich um zwei Datumswerte, deren Differenz (in Tagen) ermittelt werden soll. Das Format für die Ergebniszellen soll "Zahl" sein.
Der Code soll alle Zeilen mit Inhalt umfassen. Diesen Code habe ich im Forum schon gefunden...
|
| A | B | C | 1 | Start | Ende | Anzahl | 2 | 26.09.2003 | 05.10.2003 | 9 | 3 | 01.10.2003 | 05.10.2003 | 4 |
|
Excel Tabellen einfach im Web darstellen Excel Jeanie HTML 2.0 Download
Private Sub
x = 2
Do Until Application.WorksheetFunction.CountBlank(Rows(x)) = 256
x = x + 1
Loop
Worksheets("Tabelle1").Cells(x, 1).Value = "Dies war die erste leere Zeile"
End Sub
Das Private Sub Ereignis kriege ich nicht richtig hin. Der Code soll ja auf Änderungen in den Spalten A und B reagieren.... :-(
Vielen Danbk für eure Hilfe schonmal...
Betrifft: AW: Zell-Werte automatisch ohne Button ändern
von: PeterW
Geschrieben am: 26.09.2003 20:11:28
Hallo Martin,
warum muss das mit einem Makro gelöst werden, eine Formel tut es doch auch - in C2 =WENN(UND(A2<>"";B2<>"");B2-A2;"") und runter kopieren. Oder überseh ich was?
Gruß
Peter
Betrifft: in VBA bitte...
von: Martin
Geschrieben am: 26.09.2003 20:19:41
Hi Peter,
nein, eine runterkopierte Formel ist zwar gut, aber die, die mit der Tabelle arbeiten sollen die Spalte nicht (so leicht) manipulieren können. Deshalb möchte ich einen VBA Code lieber benutzen...
Gruß, Martin
Betrifft: AW: in VBA bitte...
von: PeterW
Geschrieben am: 26.09.2003 20:26:18
Hallo Martin,
dann benutze das Workcheet_Change Ereignis. Folgenden Code in das Modul der Tabelle kopieren:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Or Target.Column = 2 Then
If IsDate(Cells(Target.Row, 1)) And IsDate(Cells(Target.Row, 2)) Then
Cells(Target.Row, 3) = Cells(Target.Row, 2) - Cells(Target.Row, 1)
Else
Cells(Target.Row, 3) = ""
End If
End If
End Sub
Gruß
Peter
Betrifft: PERFEKT...
von: Martin
Geschrieben am: 26.09.2003 20:29:24
Das Ding klappt ja super!!!