Hallo
Leider finde ich selber keine Lösung zu folgendem Problem
Ich möchte sobald ein Wert (x) in einer Spalte (A1:A100) ist auf die nächste Springen (B) und falls der Wert (x) auch B ist auf C etc. springen
Falls aber der Wert (x) nicht in dieser Spalte ist, soll die Spalte ausgeblendet werden und das Makro soll in die nächste Spalte springen und wieder nach Wert (x) suchen usw.
Habe es mit For Schleifen probiert… aber hat nicht wie gewollt geklappt über Ideen bin ich dankbar.
Gruss Flexo
Leider finde ich selber keine Lösung zu folgendem Problem
Ich möchte sobald ein Wert (x) in einer Spalte (A1:A100) ist
auf die nächste Springen (B) und falls der Wert (x) auch B ist
auf C etc. springen
Falls aber der Wert (x) nicht in dieser Spalte ist, soll die
Spalte ausgeblendet werden und das Makro soll in die nächste
Spalte springen und wieder nach Wert (x) suchen usw.
Hallo Flexo,
k.A. ob ich das richtig kapieren konnte:
Sub tt()
Dim Spa As Long
For Spa = 1 To Columns.Count
Columns(Spa).Hidden = IIf(Application.CountIf(Range("A1:A100") \_
.Offset(0, Spa - 1), "x") = 0, True, False)
Next Spa
End Sub
Gruß
Reinhard
Hi Reinhard 
k.A. ob ich das richtig kapieren konnte:
Anscheinend nicht richtig !
Ich arbeite im einer Variablen (ein Teil in einer Zelle), also mit „Like“ !. Nun möchte ich, dass das Makro von Zeile 3 in Spalte 11 abwärts bis 100 nach der Variablen sucht. Falls die Variable in einer Zeile vorkommt, soll das Makro auf die nächste Spalte springen und wieder von oben nach unten die Variable suchen. Wenn die Variable nicht gefunden wird, soll die Spalte ausgeblendet werden und mit der nächsten Spalte weitermachen (bis Spalte 50).
Hoffe das war jetzt klarer… danke jetzt schon.
Hier mein Ansatz:
> Sub tt()
Var = "\*" & TextBox2.Value & "\*"
j = 11
For i = 3 To 200
If Cells(i, j) Like Var Then
j = j + 1
Else
Columns(j).EntireColumn.Hidden = True
End If
Next i
End Sub
Ich arbeite im einer Variablen (ein Teil in einer Zelle), also
mit „Like“ !. Nun möchte ich, dass das Makro von Zeile 3 in
Spalte 11 abwärts bis 100 nach der Variablen sucht. Falls die
Variable in einer Zeile vorkommt, soll das Makro auf die
nächste Spalte springen und wieder von oben nach unten die
Variable suchen. Wenn die Variable nicht gefunden wird, soll
die Spalte ausgeblendet werden und mit der nächsten Spalte
weitermachen (bis Spalte 50).
Hallo Flexo,
Sub tt()
Dim Spa As Long, Var
Var = "\*" & TextBox2.Value & "\*"
For Spa = 11 To 50
Columns(Spa).Hidden = IIf(Application.CountIf(Range("A3:A200") \_
.Offset(0, Spa - 1), Var) = 0, True, False)
Next Spa
End Sub
Gruß
Reinhard
Klasse Reinhard,
wundere mich, dass das auch ohne Like klappt.
Könntest Du mir bitte noch erkären wie das funktioniert ! Geht das Programm jetzt jede Zelle durch, oder nimmt es den ganzen Range und schaut dort Var enthalten ist ? Was bedeuten True, False ?
Super, Danke
Flexo
Hallo Flexo,
Geht das Programm jetzt jede Zelle durch, oder nimmt es den
ganzen Range und schaut dort Var enthalten ist ?
es überprüft im ersten Durchgang K3:K200, dann L3:L200 usw.
Range(„A3:A200“).Offset(0, Spa - 1)
entspricht in Excel wenn Spa = 11 ist:
Bereich.Verschieben(A3:A200;0;10)
also K3:K200
Application.CountIf(Range(„A3:A200“).Offset(0, Spa - 1), Var)
entspricht in Excel wenn Spa = 11 ist:
ZählenWenn(K3:K200;Var)
Was bedeuten True, False ?
.Hidden = IIF(Variable = 5, True, False)
Wenn die Variable gleich 5 ist ist Hidden True, ansonsten False.
Gruß
Reinhard
1 „Gefällt mir“