Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1620to1624
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro bearbeiteter Zelle automatisch ausführen

Makro bearbeiteter Zelle automatisch ausführen
03.05.2018 06:47:38
Corinna
Guten Morgen an Alle,
ich bin VBA-Neuling und nun leider mit meiner Excel-Liste festgefahren. Vielleicht könnt Ihr mir helfen.
In die Zelle (H2) wird eine Zahlenfolge eingegeben. Durch "Bestätigen" wird in einer der eingegebenen Zahlenfolge zugeordneten Zelle der Spalte "H" das aktuelle Datum mit Uhrzeit eingetragen. Da diese Datum-Uhrzeitangabe durch JETZT bestimmt wird, ist diese nicht fixiert - was aber zwingend notwendig wäre. Bisher habe ich das durch ein händisch ausgeführtes Makro gelöst. Ist aber auf Dauer unpraktisch.
Gibt es eine Möglichkeit, das Makro automatisch auszuführen, wenn das Datum erfasst wird? Oder wie muss ich das Makro verändern, damit es erkennt, welche Zelle im Bereich der Spalte H gerade bearbeitet wurde?
Der Code, der der Tabelle zugeordnet ist sieht wie folgt aus:

Private Sub Worksheet_Calculate()
Dim objCell As Range
For Each objCell In Range("H4:H386")
If objCell.HasFormula Then _
If IsNumeric(objCell.Text) Then _
If Fix(objCell.Value) = objCell.Value Then _
objCell.Value = objCell.Value
Next
End Sub

Das bisher verwendete Marko ist:
Sub FormelnDurchWerte()
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End Sub
Wie bringe ich die beiden zusammen, dass das Ergebnis passt? Hab schon vieles ausprobiert - ohne Erfolg und google bringt mich leider auch nicht weiter. Daher wäre ich für jede Hilfe dankbar.
LG
Corinna

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro bearbeiteter Zelle automatisch ausführen
03.05.2018 07:07:44
MCO
Guten Morgen!
Du denkst noch etwas um die Ecke.
Nimm einfach das Ereignis Worksheet_Change
Darin fragst du ab, ob gerade in Spalte H was geändert wird und trägst dann direkt den Datums-Wert in deine Zielzelle ein (Hier links neben Eingabezelle).
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 8 _
And Target  "" _
And IsNumeric(Target) Then Target.Offset(0, -1) = Date
End Sub

Das ganze mußt du im Modul des Tabellensheets eintragen, nicht im allgemeinen Modul.
Gruß, MCO
Anzeige
AW: Makro bearbeiteter Zelle automatisch ausführen
03.05.2018 07:09:37
Wastl
Hi,
beide Makros tragen kein Datum ein in Spalte H und auch sonst nirgends.
Da muss es noch was anderes geben, das verändert werden kann / muss.
AW: Makro bearbeiteter Zelle automatisch ausführen
03.05.2018 07:16:09
Hajo_Zi
dem stimme ich zu
Gruß Hajo
AW: Makro bearbeiteter Zelle automatisch ausführen
03.05.2018 08:17:27
Corinna
Schon mal Danke für die Beispiel-Excel. Ich werde es ausprobieren.
Und zur Ergänzung: aktuell ist es so: in der Zelle H2 wird z.B. der Code "170824-200004" (Hier geben die letzten 3 Ziffern immer die entsprechende H-Zelle an, in der das Datum erfasst wird) eingetragen.
Durch Enter bestätigt wird in dem Beispiel in der Zelle H4 das Ergebnis "Datum und Uhrzeit" durch die Formel =WENN(SVERWEIS($H$2;D4:D4;1;FALSCH)=D4;JETZT();"NICHT GEFUNDEN") eingetragen.
Wenn jetzt ein neuer Code in H2 geschrieben wird, bekomme ich in der Zelle H4 den Eintrag #NV, da ja der Bezug weg fällt. Deshalb möchte ich das Ergebnis als WERT fixieren.
LG Corinna
Anzeige
AW: Makro bearbeiteter Zelle automatisch ausführen
03.05.2018 09:30:26
Werner
Hallo Corinna,
das Makro muß ins Tabellblattmodul des Blattes, auf dem er sich auswirken soll.
Rechtsklick auf den Tabellenblattreiter - Code anzeigen - Code rechts ins Codefenster kopieren
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "H2" Then
If Target  "" Then
Cells(CLng(Right(Target, 3)), 8) = Now
End If
End If
End Sub
Gruß Werner
AW: Makro bearbeiteter Zelle automatisch ausführen
03.05.2018 10:25:25
Corinna
Hallo Werner,
Mensch klasse - es funktioniert. Du hast mir sehr geholfen.
Danke schön :)
Viele Grüße
Corinna
Gerne u. Danke für die Rückmeldung. o.w.T.
03.05.2018 10:33:30
Werner

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige