Ich habe einen Datenbereich, an den ich Daten anhängen möchte, wenn ein Benutzer nur Daten in eine der Spalten in der letzten Zeile eingibt. Wenn also 4 Datenzeilen vorhanden sind und der Benutzer in einer der gültigen Spalten (B: L) in der fünften Zeile etwas eingegeben hat, wird das Datum in die Zeile "M" eingefügt, um das Datum der Eingabe zu markieren.Excel VBA Formel/Datum zur letzten Zeile in einem Blatt hinzufügen, wenn Daten eingegeben werden
Gibt es eine Möglichkeit, dies einfach zu tun? Ich könnte mir eine einfache Möglichkeit vorstellen, eine sub
hinzuzufügen, die im Grunde sagt, wenn Daten in irgendeiner Spalte B: L -> Datum hinzufügen, aber ich würde dies jedes Mal aufrufen müssen, wenn ein Benutzer das Blatt geändert oder Informationen hinzugefügt hat.
Ich könnte möglicherweise nur eine Formel in jeder Zeile eingeben, aber ich müsste es immer noch aktualisieren, wenn etwas überschrieben oder erweitert wird. Ich frage mich nur, ob jemand eine schnelle Lösung kennt.
Edit:
Eigentlich verwenden,
Sub Worksheet_Change(ByVal Target As Range)
Dim lastRow As Long
lastRow = GetLastRow(Sheets("MySheet"))
If lastRow = 1 Then Exit Sub
If Not Intersect(Target, Target.Worksheet.Range("B" & CStr(lastRow) & ":L" & CStr(lastRow))) Is Nothing Then
Sheets("MySheet").Range("M" & CStr(lastRow)).value = Date
End If
End Sub
Wird etwas hinter der letzten Reihe zu der Zeit eingegeben ändert das Blatt geändert wird. Also, wenn Daten in Zeile 6 gehen, und Sie etwas in Zeile 9 eingeben, erkennt es die letzte Zeile als Zeile 9. Ich habe entschieden, das ist eigentlich genug, weil ich leere Zeilen aussortieren werde, aber wenn Sie wollten Ändern Sie einfach die letzte Zeile, Sie könnten einen -Wert verwenden, der als globale Variable beibehalten wird. Überprüfen Sie dann, ob die Untergruppe nur für diesen Wert geändert wurde. Wenn ja, führen Sie Ihren Code aus und ändern Sie dann die oldLastRow
in die neue lastRow
.
Sie haben Recht, ein Ereignis ausgelöst Unter verwenden. Es gibt kein Problem mit dieser Zündung jedes Mal, wenn ein Benutzer eine Änderung vornimmt. – Kyle
Was ist der beste Weg, dies zu erkennen? Kann ich es auf einen Bereich einstellen, oder müsste es auf dem ganzen Blatt liegen? Ich frage, weil es im Blatt bis zu 60.000 Einträge geben kann. – RWA4ARC