HERBERS Excel-Forum - das Archiv
Zelle aktivieren ?
Walter

Guten Morgen zusammen,
ich kopiere Zahlen aus einer CSV Datei in meine Excel Tabelle.
In der Tabelle habe ich ein Change-Ereignis hinterlegt,
die Zelle hat eine bestimmte Farbe.
Ich kann nur dieses Ereignis auslösen wenn ich jetzt Händig in die
Zelle gehe/anklicke mit F2 und mit Enter verlasse.
Kann man diesen Prozess per Makro ausführen ?
mfg Walter

AW: Zelle aktivieren ?
hary

Moin Walter
Teste mal Deinen Code im:
Private Sub Worksheet_Calculate()
Ereigniss.
Hilft's, ich weiss ja nicht ob Du das Change Ereigniss anderweitig brauchtst.
gruss hary
Geht nicht...
Walter

Guten Morgen Hary,
geht leider nicht mein Makro sieht so aus:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Target.Column = 12 And Not Target.Column = 13 Then Exit Sub
If Cells(Target.Row, 12) <> "" Then
Range(Cells(Target.Row, 1), (Cells(Target.Row, 10))).Select
With Selection.Interior
.ColorIndex = 15
.Pattern = xlSolid
End With
Cells(Target.Row, 12).Select
' MsgBox "Wert drin"
' Application.Calculation = xlCalculationAutomatic
Else
...
mfg walter
AW: Geht nicht...
JogyB

Hi.
Wenn Du kopierst, dann ist das Target der komplette kopierte Bereich. Du mußt die Zellen schon einzeln prüfen.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim zeLLe As Range
Dim pruefRng As Range
' Die Prüfung auf Spalte 13 ist nur sinnvoll, wenn in Spalte 12 eine Formel steht
' die sich auf Spalte 13 bezieht
Set pruefRng = Intersect(Target, Range("L:M"))
If pruefRng Is Nothing Then Exit Sub
' Pruefung nur in den relevanten Spalten
For Each zeLLe In pruefRng
If Cells(Target.Row, 12) <> "" Then
With Range(Cells(Target.Row, 1), (Cells(Target.Row, 10))).Interior
.ColorIndex = 15
.Pattern = xlSolid
End With
Cells(Target.Row, 12).Select
' MsgBox "Wert drin"
' Application.Calculation = xlCalculationAutomatic
Else
End If
Next
End Sub
Gruss, Jogy
AW: Geht nicht...
Walter

Hallo JogyB,
leider das GLEICHE wie vorhin.
Kann man den nicht Zelle für Zelle die Aktion
durchlaufen lassen ?
Wenn ich mit F2 in die Zelle gehe, wird anschließend z.b. die Zelle, das Datum
ROT angezeigt.
Ich finde es umständlich, wenn ich das in den 230 Zellen einzeln tun muß.
mfg Walter
AW: Geht nicht...
JogyB

Hi.
Seltsam, bei mir läuft das. Nur rot wird zumindest mit dem Code ganz sicher nichts, ColorIndex 15 ist grau.
Der Fehler scheint mir in einem Codeteil zu hängen, der hier nicht vorhanden ist.
Gruss, Jogy
Leider immer noch nicht --))
Walter

Hallo Jogy,
das lass ich es so. Bei mir klappt es nicht.
Wenn ich die Datumswerte reinkopiere, keine Änderung, ist nicht so
tragisch.
mfg Walter
AW: Leider immer noch nicht --))
JogyB

Hi.
Sorry, hatte nen blöden Fehler drin und es immer nur mit einer Zeile probiert... mach es mal so:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim zeLLe As Range
Dim pruefRng As Range
If Target.Address = Range("rID").Address Then Me.Range("C12") = "Top"
' Die Prüfung auf Spalte 13 ist nur sinnvoll, wenn in Spalte 12 eine Formel steht
' die sich auf Spalte 13 bezieht
' UsedRange tut der Laufzeit gut, sonst macht das beim Kopieren/Löschen
' von ganzen Spalten diese bis Zeile 65536
Set pruefRng = Intersect(Target, Range("L:M"), UsedRange)
If pruefRng Is Nothing Then Exit Sub
Application.ScreenUpdating = False
' Pruefung nur in den relevanten Spalten
For Each zeLLe In pruefRng
If Cells(zeLLe.Row, 12) <> "" Then
With Range(Cells(zeLLe.Row, 1), (Cells(zeLLe.Row, 10))).Interior
.ColorIndex = 15
.Pattern = xlSolid
End With
' MsgBox "Wert drin"
' Application.Calculation = xlCalculationAutomatic
Else
End If
Next
Application.ScreenUpdating = True
End Sub

Gruss, Jogy
Colorindex
Rudi

Hallo Jogy,
ColorIndex 15 ist grau

das muss nicht so sein. Die Farbpalette kann man anpassen.
Gruß
Rudi
AW: Colorindex Ja Rot ist...
Walter

Hallo Rudi und Jogy,
ist alles RICHTIG. Ich habe die Zelle als Rot über Bedingte Formatierung,
makiert.
Grau ist die Zeile komplett wenn man in der Zelle der Spalte "L" ein Datum
eingegeben hat.
Wenn ich aber aus einer CSV Tabelle die Datumswerte einfüge, werden die Zellen
nicht ROT makiert, wenn das Datum > als das akt. Datum ist.
Wenn ich also dann in die Zelle gehe mit "F2" und drücke dann ENTER,
wird die Zelle Rot, sofern die Bedingung erfüllt wurde.
mfg Walter
AW: Colorindex Ja Rot ist...
JogyB

Hi.
Entschuldige bitte, aber lies Dir mal durch, was Du bisher geschrieben hast... steht da irgendwas davon, dass Du eine bedingte Formatierung verwendest? Wi sollen wir helfen, wenn Du das Problem nicht richtig beschreibst?
Ich kann Dein Problem unter Excel 2003 nicht nachvollziehen, da wird es gleich korrekt eingefärbt.
Hast Du uns eine Beispieldatei?
Gruss, Jogy
Du hast leider RECHT ...
Walter

Hallo Jogy,
Du hast leider RECHT, ich habe das ganze Falsch geschildert.
Ich versuche es nochmals. Bitte vergiss das andere vorher, war blöd von mir.
Ich habe mal aufgezeichnet:
Range("L8").Select
ActiveCell.FormulaR1C1 = "11/13/2009"
Range("L9").Select
also bin in die Zelle L8 gegangen, habe "F2" gedrückt u. mit Enter bestätigt.
Mehr nicht, da es vorher eine Textzahl war (aus CSV ) wird jetzt eine Zahl.
mfg Walter
AW: Du hast leider RECHT ...
JogyB

Hi.
Dann scheint wohl das Problem zu sein, dass es das nicht als Datum erkennt.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim testRng As Range
Dim zeLLe As Range
Set testRng = Intersect(Target, Columns(12), UsedRange)
If testRng Is Nothing Then Exit Sub
' Bildschirmupdate aus, sonst flackert es
Application.ScreenUpdating = False
' Events aus, da jede Änderung unten das wieder
' aufrufen würde
Application.EnableEvents = False
For Each zeLLe In testRng
If IsDate(zeLLe) Then
zeLLe.Value = CDate(zeLLe.Value)
End If
Next
Application.EnableEvents = True
Application.ScreenUpdating = True
' Noch berechnen, das passiert aufgrund der
' ausgeschalteten Events sonst nicht
Me.Calculate
End Sub

Teste das mal.
Gruss, Jogy
Leider
Walter

Hey JogyB,
habe so reingesetzt, in die Tabelle (Makro) leider keine Reaktion
auch F9 gedrückt, nichts.
Kann man sowas nicht mit einem Makro durchführen, welches im
Modul liegt, ich habe kein Problem damit, ein Commandbutton zu drücken.
Wie gesagt, wenn ich die Zelle aktiviere und dann Enter drücke, ist es so
wie ich es brauche,
mfg Walter
AW: Leider
JogyB

Hi.
Ist jetzt alles schwer nachzuvollziehen... kannst Du mal zwei Beispieldateien hochladen, also die Zieltabelle inkl. bedingter Formatierung und eine CSV, bei der das Problem auftritt?
Gruss, Jogy
Danke für die Hilfe -)
Walter

Hey Jogy,
danke für die Hilfe. Habe jetzt überlegt ob ich es Händig eintrage, ist zwar etwas arbeit,
na ja mach es einfach.
mfg walter