1.3k Aufrufe
Gefragt in Tabellenkalkulation von
Guten Morgen,

habe wieder mal ein Problem.
Und zwar habe ich ein Exel-Blatt, in dem anhand des geschätzten Zeitaufwands (Zelle"AB49") und der Startzeit(Zelle"T63"), die Endzeit ausgerechnet werden soll. Zusätzlich soll bei Änderung von einer der Zeiten, die Endezeit automatisch mitgeändert werden.

Habe folgenden Code benutzt:

Range("AF63").Value = Range("AB49").Value + Range("T63").Value


Nun ist das Problem, dass die Zeit nur berechnet wird beim Öffnen der Datei und aktualisiert, wenn ich eine Zeit änder wird sie auch nciht.
Kann mir da jmd weiterhelfen?

Greetz Chris

5 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Chris,

warum VBA? Schreibe die Formel doch in eine Zelle.
Warum Dein Code nicht geht keine Ahnung ich sehe den kompletten Code nicht.

Gruß Hajo
0 Punkte
Beantwortet von
hi,

wird nach der änderung einer zelle automatisch das makro angesprungen? wenn nicht, ändert sich auch nichts!
ansonsten schreib die entsprechende formel in die entsprechende zelle rein.

gruss
0 Punkte
Beantwortet von
Hatte den Code vorher in einer Zelle und würde ihn gern in einen VBA Code einbauen.

der komplette Code sieht nun so aus.

Private Sub Worksheet_Change(ByVal Target As Range)

Dim Bereich As Range

Set Bereich = Sheets("Aufmaßanfrage V1.20").Range("AB49", "T63")
If Intersect(Target, Bereich) Is Nothing Then
Exit Sub
Else
Range("AF63").Value = Range("AB49").Value + Range("T63").Value
End If
End Sub


aber irgendwie erkennt der den Sub Worksheet_Change nicht.

Greetz Chris
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Chris,

die beiden Zellenn sind auch in der Tabelle "Aufmaßanfrage V1.20"?
Ich hätte es so geschrieben.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$AB$49" Or Target.Address = "$I$63" Then
Range("AF63") = Range("AB49") + Range("T63")
End If
End Sub


Gruß Hajo
0 Punkte
Beantwortet von
Hallo Hajo,

danke für die Hilfe. So funktioniert es auch. Habe meinen Code jetzt auch zum laufen bekommen. Er hatte das

Private Sub Worksheet_Change(ByVal Target As Range)

erst nicht erkannt, weil ich es einfach so reingeschrieben hatte, ohne es extra im VBA-Editor auszuwählen. Nun funktioniert es :)

dank dir.

Greetz Chris
...