Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1344to1348
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
Inhaltsverzeichnis

Variable Anzahl an if Bedingungen

Variable Anzahl an if Bedingungen
30.01.2014 08:16:49
Malte
Hallo
ich habe ein kleines Problem in excel, für das ich leider keine Lüsung finde.
Ich habe eine Tabelle in der ich aufgrund von mit mit "x" markierten Zellen zusammenhängende Zellen einfärben möchte.
Mein Code sieht folgendermaßen aus:
Sub Cluster1()
Dim Block As Variant
Dim Zeile(1 To 7) As Long
Dim stp(1 To 7) As Integer
Block = "Cluster 1"
Z = Worksheets(Block).Cells(1, 4).Interior.Color
For j = 1 To 5               ' muss angepasst werden für jedes Cluster
If Worksheets(Block).Cells(j, 2)  0 Then
stp(j) = Worksheets(Block).Cells(j, 2).Value
Zeile(j) = Columns("A:A").Find(What:=stp(j), LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Row
End If
Next
For i = 2 To 10 'Anzahl der Spalten, die durchsucht werden
If Cells(Zeile(3), i).Value = "x" And Cells(Zeile(4), i).Value = "x" And Cells(Zeile(5), i). _
Value = "x" Then 'muss angepasst werden für jeden Cluster
Range(Cells(Zeile(1), i), Cells(Zeile(2) - 1, i)).Select
Cells(Zeile(2) - 1, i).Activate
With Selection.Interior
.Color = Z
End With
End If
Next i
End Sub
In der Tabelle1 sucht das Makro nach Inhaltsstoffen, welche im Tabellenblatt Cluster 1 aufgeführt sind. Wenn alle Inhaltsstoffe vorhanden sind wird eine Range eingefärbt.
Mein Problem ist, dass nicht alle Cluster die gleiche Anzahl an Inhaltsstoffen --> "xen" haben.
Meine if Bedingung muss ich also immer anpassen, in dem ich "And..." lösche und einfüge.
Gibt es einen Weg das zu umgehen?
Danke!
VG
Anbei eine Beispiel Datei
https://www.herber.de/bbs/user/89029.xlsm

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Warum Datei
30.01.2014 09:28:28
Hajo_Zi
wenn der Code in der Datei nicht läuft?
Sub Cluster1()
Dim Block As Variant
Dim Zeile() As Long
Dim stp(1 To 7) As Integer
Dim Z As Long
Dim J As Long
Dim LoLetzte As Long
LoLetzte = IIf(IsEmpty(Cells(Rows.Count, 2)), Cells(Rows.Count, 2).End(xlUp).Row, Rows. _
Count)
ReDim Zeile(1 To LoLetzte)
Block = "Cluster 1"
Z = Worksheets(Block).Cells(1, 4).Interior.Color
For J = 1 To LoLetzte

AW: Warum Datei
30.01.2014 09:50:13
Malte
Hey,
danke für den Code, werde ich sofort probieren, wenn ich Zeit habe.
In meiner Datei läuft der Code, erst die Farben einmal löschen und dann die Cluster ausführen, bei mir werden dann die def. Cluster gefärbt.
VG

Anzeige
AW: Warum Datei
30.01.2014 09:52:41
Hajo_Zi
dann musst Du einen anderen Code als in der Datei haben. Find löst einen Fehler aus.
Gruß Hajo

AW: Warum Datei
30.01.2014 17:22:43
Malte
Hallo Hajo,
anscheinend wurde meine Antwort eben verschluckt.
Spinnt mein Computer ider fehlt dem Code was?
Bei mir ist nach
For J = 1 to LoLetzte
schluss.
Und auf meinem Rechner laufen meine Makros auch aus der geladenen Datei, was ja echt komishc ist!
Danke für die Hilfe,
VG

AW: Warum Datei
30.01.2014 17:48:50
Hajo_Zi
Hallo Malte,
ich kann Dir nicht helfen, da bei Find 1 oder eine andere Zahl in Spalte A gesucht wird und die ist nicht da, das ist mir dann logisch das dort Fehler ausgelöst wird.
Gruß Hajo

Anzeige
AW: Warum Datei
30.01.2014 20:53:02
Malte
Hallo Hajo,
meine Codes funktionieren nur in Tabelle1, in den einzelnen Clustern löst das makro einen Fehler aus, das stimmt.
Könntest du mir noch die Fortsetzung zu deinem Code schicken?
ich sehe nur folgendes:
Sub Cluster1()
Dim Block As Variant
Dim Zeile() As Long
Dim stp(1 To 7) As Integer
Dim Z As Long
Dim J As Long
Dim LoLetzte As Long
LoLetzte = IIf(IsEmpty(Cells(Rows.Count, 2)), Cells(Rows.Count, 2).End(xlUp).Row, Rows. _
Count)
ReDim Zeile(1 To LoLetzte)
Block = "Cluster 1"
Z = Worksheets(Block).Cells(1, 4).Interior.Color
For J = 1 To LoLetzte
Würdest mir sehr helfen!
Danke
VG
Malte

Anzeige
AW: Warum Datei
31.01.2014 16:40:47
Hajo_Zi
nach For kommt das was in Deinem Code Stand.
Gruß Hajo

AW: Warum Datei
03.02.2014 16:12:44
Malte
Hallo Hajo,
danke für die Erklärung! Wenn ich das jetzt richtig sehe, dann kann muss ich jetzt nicht mehr anpassen, wie viele Zeilen durchsucht werden müssen in dem Cluster.
Aber die Anzahl der "if...and" Bedingungen ist doch die aus meinem Code?
Die würde ich auch gerne noch ersetzen.
Und halt sagen wenn ALLE Inhaltsstoffe, die in stp(j) stehen, soll der Block farbig werden.
Danke

AW: Warum Datei
30.01.2014 16:53:11
Malte
Hallo Hajo,
ist das jetzt mein Computer oder fehlt da ein Teil von deinem Code?
Bei mir hört es bei
For j = 1 To LoLetzte

auf.
Und das mit dem Makro ist sehr komisch, ich habe gerade die Datei von der Seite geladen und der Code funktioniert.
Danke für deine Hilfe.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige