Supportnet / Forum / Tabellenkalkulation
Dokumentieren von Zeilenänderungen
Frage
Bonjour Gemeinde,
mein Wissen bezüglich VBA habe ich mir aus dem Internet zusammenkopiert und stehe jetzt vor dem Problem das das Projekt zu groß ist. Daher bitte ich Euch um Hilfe.
Ich habe ein Dokument mit 1000 Zeilen - von Spalte A bis R.
Jede Zeile gibt Informationen zu einem Kunden wieder. Wenn einer dieser Werte geändert wird, soll in Spalte S das Änderungsdatum erscheinen - Zeile für Zeile.
Bisher habe ich dies folgend gelöst:
[code]Private Sub worksheet_change(ByVal Target As Range)
If Target.Address = "$A$3" Or Target.Address = "$B$3" Or Target.Address = "$C$3" Or Target.Address = "$D$3" Or Target.Address = "$E$3" Or Target.Address = "$F$3" Or Target.Address = "$G$3" Or Target.Address = "$H$3" Or Target.Address = "$I$3" Or Target.Address = "$J$3" Or Target.Address = "$K$3" Or Target.Address = "$L$3" Or Target.Address = "$M$3" Or Target.Address = "$N$3" Or Target.Address = "$O$3" Or Target.Address = "$P$3" Or Target.Address = "$Q$3" Or Target.Address = "$R$3" Then [S3] = Date
End Sub[/code]
Bei bis zu 130 Zeilen ist dies möglich, jedoch meldet Excel aber der 131 Zeile folgendes:
[b]Fehler beim Kompilieren:
Prozedur zu groß[/b]
Was tun?
Antwort 1 von hand
Also ich habe absolut überhaupt keine Ahnung von VB. Das vorneweg. ^^
Du könntest die buchstaben wahrscheinlich als als Zahlencode einbinden und mittels Zählschleife hochzählen.
Gibt so ne ASCII-Tabelle da kannst dir die benötigten Zahlencode raussuchen. Wie man das in VB dann einbindet, weiß ich wie gesagt nicht.
Du könntest die buchstaben wahrscheinlich als als Zahlencode einbinden und mittels Zählschleife hochzählen.
Gibt so ne ASCII-Tabelle da kannst dir die benötigten Zahlencode raussuchen. Wie man das in VB dann einbindet, weiß ich wie gesagt nicht.
Antwort 2 von Johnsen
Also in den Zellen stehen Daten wie Kdn; Anschrift und andere für unsere Firma wichtige Daten.
Die Liste wird ständig gepflegt und bei der Masse an Kunden bedarf ständiger Kontrolle wann eine Änderung in einer Zeile vorgenommen wurde. Per Hand dies zu pflegen halte ich für ineffektiv, daher suche ich nach Lösungen.
ASCII wird mir daher nicht weiterhelfen - denke ich zumindestens.
Die Liste wird ständig gepflegt und bei der Masse an Kunden bedarf ständiger Kontrolle wann eine Änderung in einer Zeile vorgenommen wurde. Per Hand dies zu pflegen halte ich für ineffektiv, daher suche ich nach Lösungen.
ASCII wird mir daher nicht weiterhelfen - denke ich zumindestens.
Antwort 3 von schnallgonz
Salve
versuch es mal mit diesem Code
Gruß
schnallgonz
versuch es mal mit diesem Code
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'falls Spalte A bis R, dann
If Target.Column < 19 Then
'in Spalte S (= 19) das Datum schreiben
Cells(Target.Row, 19) = Date
End If
End SubGruß
schnallgonz

