Registriert seit: 06.10.2017
Version(en): 2010
Hallo zusammen,
folgendes Problem liegt bei mir vor. Ich habe eine Spalte, in der die Formel
=WENN(ZÄHLENWENN(A:A;A5)>1;"x";"")
steht. Wenn hier ein "x" zurückgeben wird, soll zwei Spalten weiter ein Datumsstempel gesetzt werden.
Dafür wird ein VBA genutzt:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Value = "x" Then Cells(Target.Row, Target.Column + 1) = Now
End Sub
Die Geschichte funktioniert nicht. Vielleicht kann mir jemand helfen das Problem auf welchem
Weg auch immer zu lösen?
Registriert seit: 05.09.2017
Version(en): 2013
Hallo,
erst mal zu deiner Formel. Du wertest die komplette Spalte A nach einem Suchkriterium aus, das auch in Spalte A steht??
Der Code kann nicht funktionieren, weil das Ergebnis einer Formelberechnung kein Change-Ereignis auslöst.
Vielleicht lädst du mal eine Beispielmappe hoch in der du verdeutlichst, was du erreichen willst und wie deine Datenstruktur aussieht. Deine Formel verwirrt mich doch etwas.
Gruß Werner
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
06.10.2017, 14:06
(Dieser Beitrag wurde zuletzt bearbeitet: 06.10.2017, 14:06 von RPP63.
Bearbeitungsgrund: Code um Spalte A ergänzt
)
Moin!
Verstanden habe ich schon.
Du möchtest einen Zeitstempel ab der ersten Dublette in Spalte A haben.
Wofür dann überhaupt die Formel?
Überwache Spalte A und setze den Zeitstempel in Spalte B wie folgt:
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .CountLarge = 1 And .Column = 1 Then
If WorksheetFunction.CountIf(Me.Columns(1), .Value) > 1 Then
.Offset(0, 1) = Now
End If
End If
End With
End Sub
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 06.10.2017
Version(en): 2010
(06.10.2017, 13:21)Werner.M schrieb: Hallo,
erst mal zu deiner Formel. Du wertest die komplette Spalte A nach einem Suchkriterium aus, das auch in Spalte A steht??
Der Code kann nicht funktionieren, weil das Ergebnis einer Formelberechnung kein Change-Ereignis auslöst.
Vielleicht lädst du mal eine Beispielmappe hoch in der du verdeutlichst, was du erreichen willst und wie deine Datenstruktur aussieht. Deine Formel verwirrt mich doch etwas.
Gruß Werner
Hallo Werner,
vielen Dank für deine Antwort. Die Formel steht nicht in Spalte A, sondern ein paar Spalten daneben. Das Problem ist aber genau so, wie du
es beschrieben hast: Das Ergebnis einer Formelberechnung löst kein Change-Ereignis aus und deswegen wird kein Stempel gesetzt.
Meine Beispielmappe kann ich erst Montag hochladen, liegt warm und sicher auf dem Arbeitsserver. Was ich erreichen will:
Ich bekomme in einer Excel-Datei (Abruf) Nummern zugeschickt. Die Nummern dieser Excel-Datei will ich mit den Nummern einer
anderen Excel-Datei (Bestandsliste) abgleichen. Alle Nummern, die im Abruf erscheinen, sind grundsätzlich in der Bestandsliste enthalten.
Nun will ich die Nummern des Abrufs in die Bestandsliste einkopieren, Excel soll mir ein X hinter die abgerufenen Nummern setzen und ein
Datumsstempel hinzufügen.
Gruß, Clemens
Registriert seit: 06.10.2017
Version(en): 2010
(06.10.2017, 14:06)RPP63 schrieb: Moin!
Verstanden habe ich schon.
Du möchtest einen Zeitstempel ab der ersten Dublette in Spalte A haben.
Wofür dann überhaupt die Formel?
Überwache Spalte A und setze den Zeitstempel in Spalte B wie folgt:
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .CountLarge = 1 And .Column = 1 Then
If WorksheetFunction.CountIf(Me.Columns(1), .Value) > 1 Then
.Offset(0, 1) = Now
End If
End If
End With
End Sub
Gruß Ralf
Moin Ralf,
vielen Dank! Es steht zu befürchten, dass auch hier kein Change-Ereignis, wie Werner das formuliert hat, durch die Formel ausgelöst werden kann ?
gruß, clemens
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
Wie ich bereits schrieb:
Du brauchst doch überhaupt keine Formel, sondern nur Spalte A überwachen!
Wozu ein X, wenn nur bei einem X ein Timestamp erscheinen soll?
Probiere es einfach mal aus, ohne "vorsorglich" Befürchtungen zu äußern.
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:1 Nutzer sagt Danke an RPP63 für diesen Beitrag 28
• clemensch
Registriert seit: 06.10.2017
Version(en): 2010
(07.10.2017, 09:06)RPP63 schrieb: Wie ich bereits schrieb:
Du brauchst doch überhaupt keine Formel, sondern nur Spalte A überwachen!
Wozu ein X, wenn nur bei einem X ein Timestamp erscheinen soll?
Probiere es einfach mal aus, ohne "vorsorglich" Befürchtungen zu äußern.
Gruß Ralf
Moin Ralf,
vielen Dank!! Ich stelle die Vorsorglichkeit ein, es klappt :19:
Nur eine (hoffentlich) Kleinigkeit - wenn ich einkopiere, stempelt
Excel hinter dem einkopierten Wert; ich brauche den Stempel
hinter dem Wert, der zuerst in der Liste stand.
Gruß, clemens