Thema Datum  Von Nutzer Rating
Antwort
Rot variable Anzahl an "if and" verknüpfungen
06.02.2014 08:14:19 Malte
NotSolved
06.02.2014 16:58:06 Gast63755
NotSolved
06.02.2014 18:21:20 Gast67743
NotSolved
06.02.2014 20:02:56 H27
*****
Solved
06.02.2014 23:21:11 Malte
NotSolved

Ansicht des Beitrags:
Von:
Malte
Datum:
06.02.2014 08:14:19
Views:
1628
Rating: Antwort:
  Ja
Thema:
variable Anzahl an "if and" verknüpfungen

Hallo Forum,

 

ich habe ein Problem mit vba.

Ich habe eine Tabelle mit Produkten (x-Achse) und Inhaltsstoffen (y-Achse). Wenn ein Produkt einen Stoff enthält ist in der Zeile ein x.

Jetzt möchte ich mehrere Inhaltsstoffe zu Clustern zusammenfassen und diese in der Tabelle farblich markieren, eben für alle Produkte, die das Cluster ( also alle Inhalsstoffe und nur die) enthalten.

Für jedes Cluster habe ich ein neues Tabllenblatt. Mein Problem bisher ist, dass ich für jedes Cluster einen neuen Code brauche, da ein Cluster sich aus einer variablen Anzahl an Inhaltsstoffen zusammensetzt. Für 2 CLuster sind hier meine Codes.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
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
 
Sub Cluster2()
 
  Dim Block As Variant
  Dim Zeile(1 To 7) As Long
  Dim stp(1 To 7) As Integer
   
 
   
  Block = "Cluster 2"
    Z = Worksheets(Block).Cells(1, 4).Interior.Color
   
   For J = 1 To 4
    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" Then
     
    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

Das Makro guckt in Tabelle1 ob die im CLuster aufgelisteten Inhaltsstoffe in einem Produkt enthalten sind, falls alle drin sind wird der Bereich (im Tabellenblatt Cluster def.) gefärbt.

Kann man da eine variable Anzahl an if and Verknüpfungen einpflegen, so dass ich nur einen COde brauche?

 

Danke


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot variable Anzahl an "if and" verknüpfungen
06.02.2014 08:14:19 Malte
NotSolved
06.02.2014 16:58:06 Gast63755
NotSolved
06.02.2014 18:21:20 Gast67743
NotSolved
06.02.2014 20:02:56 H27
*****
Solved
06.02.2014 23:21:11 Malte
NotSolved