Wenn ich in der Spalte G in der Tabelle1 einen ColorIndex 15 habe (Grau) möchte ich in der spalte B in der gleichen Zeile ein ü setzen.
=WENN(G2;ColorIndex=15;"ü") ?
Wie würde hier bitte eine funktionierende Formellösung lauten?
Danke
Josef
B | C | D | E | F | G | |
4232 | ü |
|
|
|
| aaahygiene |
bereich.FormatConditions(1).Interior.ColorIndex = 15
bereich.offset(0,-7) = "ü" 'neu
Dim c As Range 'neue Variable
'------------ bis hier alter Code-----------
With wks1
bereich.FormatConditions.Delete
bereich.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=ODER(ZÄHLENWENN(I2;""*" & wx & "*"");ZÄHLENWENN(I2;""*" & xy & "*"");ZÄHLENWENN(I2;""* _
_
" & yz & "*""))"
bereich.FormatConditions(1).Interior.ColorIndex = 15
'----- Schleife für bereich einfügen, prueft ob im bereich die Zelle Zahl >0 hat ---------- _
For Each c In bereich
If c > 0 Then c.Offset(0, -5) = "ü"
Next
'------------ ende Schleife ------------
End With
' ---------------weiter alter Code-------------
Sub b()
Dim c As Range
Dim bereich As Range
Dim wks As Worksheet
Set bereich = ActiveSheet.Range("G2:G" & ActiveSheet.Range("A65536").End(xlUp).Row)
For Each c In bereich
If InStr(c, "Grund") 0 Then c.Offset(0, -5) = "ü"
Next
End Sub
'----- Schleife für bereich einfügen, prueft ob im bereich die Zelle inhalt wx hat ---------- _
_
For Each c In bereich
If InStr(c, wx) 0 Then c.Offset(0, -5) = "ü"
Next
'------------ ende Schleife ------------
Sub BedingtesFormat_KapitelG_1()
Dim wx
Dim wx1
Dim c As Range 'neue Variable
Dim wks As Worksheet
Dim wks1 As Worksheet
Dim bereich As Range
Set wks = Workbooks("Masterprog.xla").Worksheets("Tabelle1")
Set wks1 = Workbooks("Masterfile.xls").Worksheets("Tabelle1")
Set bereich = ActiveSheet.Range("G2:G" & ActiveSheet.Range("A65536").End(xlUp).Row)
wx = wks.Range("BE1")
wx1 = wks.Range("BE2")
With wks1
bereich.FormatConditions.Delete
bereich.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=ODER(ZÄHLENWENN(G2;""*" & wx & "*""))"
bereich.FormatConditions(1).Interior.ColorIndex = 15
For Each c In bereich
If InStr(c, wx) 0 Then c.Offset(0, -5) = "ü"
Next
End With
End Sub
Sub BedingtesFormat_KapitelG_1()
Dim wx
Dim wx1
Dim wx2
Dim c As Range 'neue Variable
Dim wks As Worksheet
Dim wks1 As Worksheet
Dim bereich As Range
Set wks = Workbooks("Masterprog.xla").Worksheets("Tabelle1")
Set wks1 = Workbooks("Masterfile.xls").Worksheets("Tabelle1")
Set bereich = ActiveSheet.Range("G2:G" & ActiveSheet.Range("A65536").End(xlUp).Row)
wx = wks.Range("BE1")
wx1 = wks.Range("BE2")
wx2 = wks.Range("BE3")
With wks1
bereich.FormatConditions.Delete
bereich.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=ODER(ZÄHLENWENN(G2;""*" & wx & "*""))"
bereich.FormatConditions(1).Interior.ColorIndex = 15
For Each c In bereich
If InStr(c, wx2) 0 Then c.Offset(0, -5) = "ü"
Next
End With
End Sub
Sub Kapitel_G_SpalteB_1() weiter unten.
Sub BedingtesFormat_KapitelG_1()
Dim wx
Dim wx1
Dim c As Range 'neue Variable
Dim wks As Worksheet
Dim wks1 As Worksheet
Dim bereich As Range
Set wks = Workbooks("Masterprog.xla").Worksheets("Tabelle1")
Set wks1 = Workbooks("Masterfile.xls").Worksheets("Tabelle1")
Set bereich = ActiveSheet.Range("G2:G" & ActiveSheet.Range("A65536").End(xlUp).Row)
wx = wks.Range("BE1")
wx1 = wks.Range("BE2")
With wks1
bereich.FormatConditions.Delete
bereich.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=ODER(ZÄHLENWENN(G2;""*" & wx & "*""))"
bereich.FormatConditions(1).Interior.ColorIndex = 15
End With
Call Kapitel_G_SpalteB_1
End Sub
Sub Kapitel_G_SpalteB_1()
Dim c As Range
Dim bereich As Range
Dim wks As Worksheet
Dim wx2
Set wks = Workbooks("Masterprog.xla").Worksheets("Tabelle1")
wx2 = wks.Range("BE3")
Set bereich = ActiveSheet.Range("G2:G" & ActiveSheet.Range("A65536").End(xlUp).Row)
For Each c In bereich
If InStr(c, wx2) 0 Then c.Offset(0, -5) = "ü"
Next
End Sub
Mit Deinem Makro mit der Zeile If InStr(c, "Grund") 0 Then c.Offset(0, -5) = "ü"
würde es funktionieren.
Mit meinem Umbau nicht:
If InStr(c, wx2) 0 Then c.Offset(0, -5) = "ü"
Warum eigentlich nicht. Jetzt sollte ja eigentlich alles nur mehr von einem kleinen Fehler abhängen. Habe ich die Variable falsch angelegt?
Josef
Sub BedingtesFormat_KapitelG_1()
Dim wx
Dim wx1
Dim c As Range 'neue Variable
Dim wks As Worksheet
Dim wks1 As Worksheet
Dim bereich As Range
Set wks = Workbooks("Masterprog.xla").Worksheets("Tabelle1")
Set wks1 = Workbooks("Masterfile.xls").Worksheets("Tabelle1")
Set bereich = ActiveSheet.Range("G2:G" & ActiveSheet.Range("A65536").End(xlUp).Row)
wx = wks.Range("BE1")
wx1 = wks.Range("BE2")
With wks1
bereich.FormatConditions.Delete
bereich.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=ODER(ZÄHLENWENN(G2;""*" & wx & "*""))"
bereich.FormatConditions(1).Interior.ColorIndex = 15
End With
Call Kapitel_G_SpalteB_1
End Sub
Sub Kapitel_G_SpalteB_1()
Dim c As Range
Dim bereich As Range
Dim wks As Worksheet
Dim wx
Set wks = Workbooks("Masterprog.xla").Worksheets("Tabelle1")
wx = wks.Range("BE1")
Set bereich = ActiveSheet.Range("G2:G" & ActiveSheet.Range("A65536").End(xlUp).Row)
For Each c In bereich
If InStr(c, wx) 0 Then c.Offset(0, -5) = "ü"
Next
End Sub
Sub BedingtesFormat_KapitelG_1()
Dim wx
Dim wx1
Dim c As Range 'neue Variable
Dim wks As Worksheet
Dim wks1 As Worksheet
Dim bereich As Range
Set wks = Workbooks("Masterprog.xla").Worksheets("Tabelle1")
Set wks1 = Workbooks("Masterfile.xls").Worksheets("Tabelle1")
Set bereich = ActiveSheet.Range("G2:G" & ActiveSheet.Range("A65536").End(xlUp).Row)
wx = wks.Range("BE1")
wx1 = wks.Range("BE2")
With wks1
bereich.FormatConditions.Delete
bereich.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=ODER(ZÄHLENWENN(G2;""*" & wx & "*""))"
bereich.FormatConditions(1).Interior.ColorIndex = 15
End With
Call Kapitel_G_SpalteB_1
End Sub
Sub Kapitel_G_SpalteB_1()
Dim c As Range
Dim bereich As Range
Dim wks As Worksheet
Dim wx
Set wks = Workbooks("Masterprog.xla").Worksheets("Tabelle1")
wx = wks.Range("BE1")
Set bereich = ActiveSheet.Range("G2:G" & ActiveSheet.Range("A65536").End(xlUp).Row)
For Each c In bereich
'If InStr(c, wx) 0 Then c.Offset(0, -5) = "ü"
If InStr(UCase(c), UCase(wx)) 0 Then c.Offset(0, -5) = "ü"
Next
End Sub
If InStr(UCase(c), UCase(Cells(1, 11))) 0 Or InStr(UCase(c), UCase(Cells(1, 10))) 0 Then _
c.Offset(0, -5) = "ü"