Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Change-Makro

Forumthread: Change-Makro

Change-Makro
11.03.2004 14:18:29
Carmen Pfeiffer
Hallo zusammen,
ich habe folgendes Problem:
Ich möchte, dass bei Änderungen in Spalte M zwischen den Zeilen 3 und 200 meiner Tabelle je nach Änderung unterschiedliche Aktionen durchgeführt werden.
Wenn jemand in eine Zelle in Spalte M eine 100 einträgt, dann soll in die gleiche Zeile in Spalte O das heutige Datum eingetragen werden und danach fest eingefügt werden.
Wenn jemand eine von 100 abweichende Zahl einträgt, dann soll ein evtl. bereits bestehendes Datum in Spalte O in dieser Zeile wieder gelöscht werden
Wenn jemand einen Eintrag aus Spalte M entfernt, dann soll ein bereits bestehendes Datum in dieser Zeile in Spalte O ebenfalls gelöscht werden.
Habe das ganze bereits mit einem Change-Makro versucht, mein Problem hierbei ist aber, dass dieses Makro nur funktioniert, wenn der User nach Eingabe in Spalte M die Return-Taste drückt. Wenn er mit Tab- oder Pfeiltasten weitergeht oder sogar woanders hinklickt, dann ist das ganze Makro hinfällig:


Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 13 And Target.Row >= 3 And Target.Row <= 200 And ActiveCell.Offset(-1, 0).Value = 100 Then
ActiveCell.Offset(-1, 2).Select
ActiveCell.FormulaR1C1 = "=TODAY()"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ActiveCell.Offset(0, -2).Select
End If
If Target.Column = 13 And Target.Row >= 3 And Target.Row <= 200 And ActiveCell.Offset(-1, 0).Value <> 100 Then
ActiveCell.Offset(-1, 2).Select
Selection.ClearContents
ActiveCell.Offset(0, -2).Select
End If
If Target.Column = 13 And Target.Row >= 3 And Target.Row <= 200 And ActiveCell.Offset(-1, 0).Value = """" Then
ActiveCell.Offset(-1, 2).Select
Selection.ClearContents
ActiveCell.Offset(1, -2).Select
End If
End Sub

Vielleicht weiß jemand eine bessere Idee, evtl. mit einer Schleife. Dabei muss man aber beachten, dass bereits bestehenden Datumsangaben in der Spalte O nicht überschrieben werden.
Danke und viele Grüße
Carmen
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Change-Makro
11.03.2004 14:33:12
Mac4
Hallo Carmen,
so wie Du es beschrieben hast, müsste es so gehen:

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("M7:M200")) Is Nothing Then
Else
Select Case Target.Value
Case Is = 100: Target.Offset(0, 2).Value = Date
Case Is <> 100: Target.Offset(0, 2).Value = ""
End Select
End If
End Sub

Anzeige
AW: Change-Makro
11.03.2004 14:40:29
Carmen Pfeiffer
So einfach kann es manchmal sein!
Vielen, vielen Dank!
Gruß
Carmen
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige