Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
664to668
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
664to668
664to668
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

nach Zell-Änderung automat. Systemdatum eintragen

nach Zell-Änderung automat. Systemdatum eintragen
12.09.2005 10:25:26
Lian
Hallo Excelfreaks ;)
Ich bin auf der Suche nach einem Makro, was die Eingabe in die Zellen einer bestimmten Spalte überprüft. Im Hintergrund soll eine Liste von ca. 20 Einträgen existieren, die fehlerhafte Eingaben und die Korrektureinträge dazu enthält.
Besten Dank im Voraus!

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nach Zell-Änderung automat. Systemdatum eintragen
12.09.2005 10:28:26
denis
na das ist ja dann doch was anderes _ geht nicht so einfachg weil eine wenn anweisung in exel nur 8 mal geschachterlt werden kann Du brauchst 20 - alöso doch richtig programieren......... weis aber nich wie das geht
hat da jemand nen Lösungsvorschlag?
12.09.2005 11:03:06
lian
könnte man mehrere solcher Case-Schachtelungen einsetzen? 16 Korrigiermöglichkeiten würden auch reichen.
Notfalls wär ich aber auch erstmal über eine Lösung mit den 8 Varianten erfreut.
Besten Dank!
AW: hat da jemand nen Lösungsvorschlag?
12.09.2005 11:27:31
Andi
Hi,
was hat denn das Problem mit Deinem Btreff zu tun? Du willst doch eine Art Autokorrektur für eine einzelne Spalte, oder verstehe ich das falsch?
Ich hab Dir mal was gebaut, was hoffentlich in die richtige Richtung geht:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim a As Range
If Intersect(Target, [A:A]) Is Nothing Then Exit Sub
Set a = Worksheets("Tabelle2").Range("A1:A100").Find(Target.Value, LookIn:=xlValues)
If a Is Nothing Then Exit Sub
Target.Value = Worksheets("Tabelle2").Cells(a.Row, 2).Value
End Sub

In Tabelle2 steht die Liste mit den falschen Einträgen in Spalte A, in Spalte B die entsprecheden Korrektur. Tabelle2 kannst Du natürlich auch ausblenden, wenn Du willst.
Schönen Gruß,
Andi
P.S.: Hast Du meinen Vorschlag zu Deinen ersten thread (der übrigens viel besser zum Betreff dieses threads passt :-)) ausprobiert? Rückmeldung wäre nett...
Anzeige
hohe Zeitintensität
12.09.2005 23:21:45
Lian
Ersteinmal nochmal vielen Dank!
Das Makro leistet seinen Dienst wie gewünscht. Einziges Manko, es benötigt komischerweise sehr lange und blockiert ein Weilchen die Excel-Anwendung.
Nun habe ich die Suche von Zeile 1-100 auf 2-36 abgesenkt und konnte den Zeitaufwand des Vergleichs kürzen aber er ist dennoch zu bemerken. Mal sehen ob ich da noch etwas feilen kann.
Zu der andren Sache mit dem automatischen Zeitstempel im selbigen Change-Ereignis des WBs bemerkte ich eine kleine Lücke. Derzeitig gilt es für die gesamte Spalte. Die Zeilen 1-6 müssen jedoch ausgenommen werden vom Change-Ereignis. Gilt für beide Prüfungen (also Zeitstempel und Korrektur).
Vielen Dank!!!
Anzeige
AW: hohe Zeitintensität
13.09.2005 09:09:07
Andi
Morgen,
also ich hab das bei mir auch mal mit 36 Zeilen ausprobiert, und das geht eigentlich recht schnell; aber das hängt natürlich auch vom Rechner ab, und davon was sonst so alles auch der Kiste läuft. Und VBA-Projekte werden natürlich niemals so schnell laufen wie Assembler-Programme (dafür funktionieren sie :-)))
Die Zeilen 1 bis 6 kannst Du mit folgender Zeile am Anfang des Makros ausnehmen:
if target.row &lt= 6 then exit sub
Schönen Gruß,
Andi
AW: hohe Zeitintensität
13.09.2005 17:39:40
Lian
Dank dir!
Funktioniert ohne Probleme.
Gern geschehen... (ot)
13.09.2005 18:12:13
Andi
.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige