Supportnet Computer
Planet of Tech

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.

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.

Antwort 3 von schnallgonz

Salve
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 Sub


Gruß
schnallgonz

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: