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

formatconditions

formatconditions
11.11.2006 18:47:22
Jürgen
Hallo Zusammen,
ich habe ein VBA Problem hinsichtlich des Setzen einer Formel innerhalb der bedingten Formatierung .
In dem beigefügtem Excel sollen mittels VBA diejenigen Zellen in der Spalte B mit einer bedingten Formatierung gesetzt werden, die in der gleichen Zeile in Spalte A den Text "Homework" enthalten.
Die Formel in der bedingten Formatierung soll auf die darüber liegende Zelle in Spalte B verweisen.
Ich erhalte mit folgendem Makro in folgender Excel Datei
https://www.herber.de/bbs/user/38086.xls:

Sub formatbed()
Dim c As Range
Dim rightString1, myForm As String
Dim myRow As Integer
For Each c In Range("a1:a20")
rightString1 = Right(c.Text, 8)
If rightString1 = "homework" Then
myRow = c.Row - 1
myForm = "=$B" & myRow & " <> """""
c.Offset(0, 1).FormatConditions.Delete
c.Offset(0, 1).FormatConditions.Add Type:=xlExpression, Formula1:=myForm
c.Offset(0, 1).FormatConditions(1).Font.ColorIndex = xlAutomatic
c.Offset(0, 1).FormatConditions(1).Interior.ColorIndex = 36
End If
Next c
End Sub

aber immer FALSCHE ZELLBEZÜGE in der Formel der bedingten Formatierung.
Diese verweisen manchmal auf Zeile 65325, Zeile 1 oder ähnliches.
Kann das jemand verifizieren ? Liegt das an der Excel Version 2000 ?
Vielen Dank im voraus
Jürgen

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

Betreff
Datum
Anwender
Anzeige
AW: formatconditions
11.11.2006 19:52:58
Ralf
Hi Jürgen,
Variable C darf kein Range sein. In For Each ist ein Variant erforderlich.
Ciao, Ralf
AW: formatconditions
11.11.2006 20:04:35
Erich
Hallo Ralf und Jürgen,
c darf ein Range sein - so etwas kommt oft genug vor...
Aus der Hilfe zu "For Each...":
Bei Auflistungen ist für Element nur eine Variable vom Typ Variant, eine allgemeine Objektvariable
oder eine beliebige spezielle Objektvariable zulässig. Bei Datenfeldern ist für Element nur eine Variable vom Typ Variant zulässig.
Range("a1:a20") ist eine Auflistung von Zellen = Ranges.
Merkwürdig ist das Verhalten der Routine schon. Ich habe keinen Fehler finden können.
Entkommentiert man die Zeilen in folgender Routine (entspricht ansonsten genau Jürgens Original),
füllt sie die Bedingungen korrekt. Tut man das nicht, kommt Unfug in die Conditions.
Option Explicit
Sub formatbed2()
Dim c As Range
Dim rightString1, myForm As String
Dim myRow As Integer
'  Dim zz As Long
For Each c In Range("a1:a20")
rightString1 = Right(c.Text, 8)
If rightString1 = "homework" Then
'        zz = zz + 1
'        Cells(zz, 5) = c.Row
myRow = c.Row - 1
myForm = "=$B" & myRow & "<>"""""
'        Cells(zz, 6) = "'" & myForm
c.Offset(0, 1).FormatConditions.Delete
c.Offset(0, 1).FormatConditions.Add Type:=xlExpression, Formula1:=myForm
c.Offset(0, 1).FormatConditions(1).Font.ColorIndex = xlAutomatic
c.Offset(0, 1).FormatConditions(1).Interior.ColorIndex = 36
End If
Next c
End Sub
Ich lass mal offen - die Frage ist es wahrlich...
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: formatconditions
12.11.2006 14:15:54
Jürgen
Hallo Erich,
vielen Dank für die Infos. Allerdings werden bei mir auch mit Deinem Vorschlag die Format Conditions nicht richtig gesetzt.
Ich habe mir das Ganze auch in der Überwachung angesehen. Komisch ist dabei, dass die FormatConditions zur Laufzeit in VBA richtig gesetzt werden, aber wenn ich in das Excel gehe, die Zellbezüge dennoch falsch sind.
Ich habe dafür keine Erklärung, vielleicht hat ja sonst noch jemand eine Idee ?
Vielen Dank
Jürgen
AW: formatconditions - OFFENES PROBLEM
12.11.2006 14:28:50
Erich
Ich stell noch mal auf offen - vielleicht hat jemand eine Erklärung?
AW: formatconditions - OFFENES PROBLEM
12.11.2006 15:26:46
yps
hi,
dieses dusslige Excel mit seiner angeblichen Intelligenz versucht abhängig von der Cursorposition irgendwas auszurechnen und das gelingt nicht immer richtig ;-)
mach's so und alles ist gut:
"=$B$"
also auch für die Zeile einen absoluten Bezug
cu Micha
Anzeige
AW: formatcondition-Fehler bei relativen Bezügen
12.11.2006 17:45:40
Erich
Hallo Micha,
danke für die Erleuchtung!
Jetzt habe ich auch gefunden, dass der Fehler bei M$ bekannt ist.
Zitat aus
http://support.microsoft.com/kb/895562/de
ACHTUNG: Der folgende Knowledge Base Artikel wurde durch ein maschinelles Übersetzungssystem
ohne jegliche menschliche Mitwirkung übersetzt.
Problembeschreibung
Stellen Sie sich das folgende Szenario vor
- Sie markieren eine Zelle in einem Microsoft Excel-Arbeitsblatt in Microsoft Excel 2000 oder einer höheren Version.
- Um ein formula-based bedungenes Formatprogramm zu erstellen, verwenden Sie Microsoft Visual Basic Applications (VBA).
- In dem bedungenen VBA-Formatprogramm verwenden Sie relative Zellbezug.
- Sie weisen das bedungene Format einer Zelle anders als der markierten Zelle zu.
Wenn Sie das bedungene Format anwenden, beachten Sie, dass das bedungene Format nicht richtig festgelegt ist.
Den englischen Text findet man unter
http://support.microsoft.com/kb/895562/en-us
Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: formatcondition-Fehler bei relativen Bezügen
12.11.2006 22:49:05
Jürgen
Hallo Micha und Erich,
ja Danke, das ist der Fehler und die Lösung :-).
Grüße
Jürgen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige