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

Bed. Formatierung durch Ausführen Makro gelöscht

Bed. Formatierung durch Ausführen Makro gelöscht
30.04.2008 11:35:00
jorgen
Liebe Excel Kollegen,
freundlicherweise wurde mir folgender Makro zur Verfügung gestellt, der auch wunderbar funktioniert und mein Problem erst einmal gelöst hat. Er dient dazu immer zusammengehörige zellen hervorzuheben, wenn eine der Zellen markiert wird (hier genutzt zur Kenntlichmachung von Plan- und Ist Zahlen).
Nach einer ersten Korrektur kann ich auch wieder die "Einfügen" (Paste) Funktion nutzen.
Leider funktioniert nun die bedingte Formatierung nicht mehr, bzw. sie wird immer dann gelöscht, wenn eine Zelle markiert wurde.
anbei die Syntax:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim strSuch As String, Zelle As Range, Bere As Range
Application.ScreenUpdating = False
If Application.CutCopyMode = False Then
Cells.FormatConditions.Delete
For Each Bere In Selection
strSuch = Cells(Bere.Row, 1)
Set Zelle = Range("A:A").Find(what:=strSuch, after:=Cells(Bere.Row, 1))
If Not Zelle Is Nothing And Zelle.Address  Cells(Bere.Row, 1).Address Then
Set Zelle = Cells(Zelle.Row, Bere.Column)
Zelle.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, _
Formula1:="0"
Zelle.FormatConditions(1).Interior.ColorIndex = 37
End If
Next Bere
End If
Application.ScreenUpdating = True
End Sub


Übrigens: wofür steht eigentilich dieses "Bere"? Kann einfach keine Erklärung dafür finden.
Tausend Dank für eure Hilfe

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

Betreff
Datum
Anwender
Anzeige
AW: Bed. Formatierung durch Ausführen Makro gelöscht
30.04.2008 11:53:00
Uwe
Hi,
die Zeile:
Cells.FormatConditions.Delete
löscht die Bedingten Formatierungen im ganzen Blatt. Mit:
Selection.FormatConditions.Delete
löscht Du das nur in der Auswahl. Ersetz das mal probeweise.
Bere ist eine Rang-Variable (wohl Abgekürzt für Bereich) und mit:
For Each Bere In Selection
wird dann jede Zelle in der Auswahl abgefragt.
Hilft Dir das?
Gruß
Uwe
(:o)

AW: Bed. Formatierung durch Ausführen Makro gelösc
30.04.2008 12:23:02
jorgen
Danke für deinen Tipp.
Leider löst das mein Problem nicht, es vergrößert es sogar noch ; )
Die Bedingte Formatierung in den markierten Zellen wird trotzdem gelöscht (sie soll jedoch unbedingt bestehen bleiben). Die Formatierung, die die Zelle ja nur solange aufweisen soll, solange die zugehörige Zelle (bzw. die Zellen) markiert ist, bleibt dagegen bestehen.
anbei eine beispielhafte Datei
https://www.herber.de/bbs/user/51980.xls
liebe Grüße
Joerg

Anzeige
AW: Bed. Formatierung durch Ausführen Makro gelösc
30.04.2008 13:10:00
Uwe
Hi Joerg,
also da hat Dein Makro aber doch ziemlich was anderes gemacht. Mit diesem hier:
Public Merken As String

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Debug.Print Merken
If Target.Address = "$B$12:$C$12" Then
Range("B6:C6").Interior.ColorIndex = 3
ElseIf Merken = "$B$12:$C$12" Then
Range("B6:C6").Interior.ColorIndex = 19
End If
Merken = Target.Address
End Sub


würder genau das passieren, was Du in der Tabelle beschrieben hast:
Ziel ist es, dass die Zellen B6:C6 hervorgehoben werden, wenn die Zellen B12:C12 markiert werden.
zusätzlich wird beim "verlassen" von B12:C12 wieder nach grau formartiert (hätte getipt, dass das so gemeint ist).
Ich gehe davon aus, das Du das Ganze wesentlich flexiebler brauchst, also auch für ander Bereiche. Da müsstest Du die Bedingungen aber nochmal genau beschreiben.
Gruß
Uwe
(:o)

Anzeige
AW: Bed. Formatierung durch Ausführen Makro gelösc
30.04.2008 16:55:27
jorgen
Danke schonmal für den Vorschlag ... hmm ... wenn ich es richtig verstehe, ist die Flexibilität das, was es so komplex macht, oder? ... also ich bräuchte wie von dir beschrieben, eine Funktion, die immer die Zellen hevorhebt, die denen zugeordnet sind, die grade markiert werden (z.b. durch Einfärben). In meinem Falll also Plan- zu Ist-Zahlen und umgekehrt.
Sobald andere Zellen markiert werden, soll die Zelle wieder in ihre Ursprungsformatierung zurückversetzt werden.
Die Zuordnung der richtigen Zellen hat in meinem Beispiel über die Bezeichung (oder eine ID) in der ersten Spalte funktioniert, die beim Plan und Ist Wert gleich ist. Eigentlich eine ganz kluge Idee, wie ich meine.
Problem: zusätzlich haben die Zellen eine Standardformatierung (Grautöne) und eine Bedingte Formatierung, die (auch ohne Markierung) anzeigt, ob der Ist-Wert über dem Planwert liegt (Grüne Schrift) oder darunter (Rote Schrift).
Diese Formatierung wird immer gelöscht, wenn die Zelle unter Einfluss des Makros markiert wird.
1000 Dank für Input
Liebe Grüße
Joerg

Anzeige
AW: Bed. Formatierung durch Ausführen Makro gelösc
30.04.2008 17:00:17
jorgen
Danke schonmal für den Vorschlag ... hmm ... wenn ich es richtig verstehe, ist die Flexibilität das, was es so komplex macht, oder? ... also ich bräuchte wie von dir beschrieben, eine Funktion, die immer die Zellen hevorhebt, die denen zugeordnet sind, die grade markiert werden (z.b. durch Einfärben). In meinem Falll also Plan- zu Ist-Zahlen und umgekehrt.
Sobald andere Zellen markiert werden, soll die Zelle wieder in ihre Ursprungsformatierung zurückversetzt werden.
Die Zuordnung der richtigen Zellen hat in meinem Beispiel über die Bezeichung (oder eine ID) in der ersten Spalte funktioniert, die beim Plan und Ist Wert gleich ist. Eigentlich eine ganz kluge Idee, wie ich meine.
Problem: zusätzlich haben die Zellen eine Standardformatierung (Grautöne) und eine Bedingte Formatierung, die (auch ohne Markierung) anzeigt, ob der Ist-Wert über dem Planwert liegt (Grüne Schrift) oder darunter (Rote Schrift).
Diese Formatierung wird immer gelöscht, wenn die Zelle unter Einfluss des Makros markiert wird.
1000 Dank für Input
Liebe Grüße
Joerg

Anzeige
AW: Bed. Formatierung durch Ausführen Makro gelösc
01.05.2008 13:46:00
Uwe
Hi Joerg,
hat etwas gedauert, aber jetzt sieht es, glaube ich, schon fast so aus wie Du möchtest?! Teste es aber auf jedenfall nochmal genau aus und sag Bescheid wenn etwas nich so klappt wie vorgestellt:

Public FormatAlt As String
Public AdresseAlt As String
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim strSuch As String, Zelle As Range, Bere As Range
Application.ScreenUpdating = False
If Application.CutCopyMode = False Then
On Error Resume Next
Range(AdresseAlt).Interior.ColorIndex = FormatAlt
On Error GoTo 0
For Each Bere In Selection
strSuch = Cells(Bere.Row, 1)
Set Zelle = Range("A:A").Find(what:=strSuch, after:=Cells(Bere.Row, 1))
If Not Zelle Is Nothing And Zelle.Address  Cells(Bere.Row, 1).Address Then
Set Zelle = Cells(Zelle.Row, Bere.Column)
FormatAlt = Zelle.Interior.ColorIndex
AdresseAlt = Zelle.Address
Zelle.Interior.ColorIndex = 37
End If
Next Bere
End If
Application.ScreenUpdating = True
End Sub


Gruß
Uwe
(:o)

Anzeige
AW: Bed. Formatierung durch Ausführen Makro gelösc
06.05.2008 10:48:38
jorgen
Hallo Uwe,
danke vielmals ... das klappt schon ganz gut, nur bleibt die Formatierung der Zellen bestehen, wenn mehere Zellen auf einmal markiert werden.
Bin sicher, das ist nur noch eine Kleinigkeit.
Liebe Grüße
Joerg

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige