Makro aus Userform verändert alle Sheets !

Hallo Zusammen,

habe eine Userform gebastelt das folgenden Code enthält:

Set Markierung = Worksheets("system").Range("A1:A100")

 For Each Zelle In Markierung
 If IsEmpty(Zelle) Then Rows(Zelle.Row).Hidden = True
 Next Zelle

Dieser funktioniert wunderbar (Thx an den Spender).

Mein Problem, wenn ich das Userform benutzte und ein anderes Sheet ist offen… verändert es mir das offene Sheet. Obwohl doch die genaue Adresse „Worksheets(„system“).Range(„A1:A100“)“ angegeben ist.

Hat jemand eine Idee das zu vermeiden.

Das Userform wir mit „Show.Userform False“ gestartet.

Gruss

Hallo Zusammen,


Mein Problem, wenn ich das Userform benutzte und ein anderes
Sheet ist offen… verändert es mir das offene Sheet. Obwohl
doch die genaue Adresse
„Worksheets(„system“).Range(„A1:A100“)“ angegeben ist.

Hat jemand eine Idee das zu vermeiden.

Das Userform wir mit „Show.Userform False“ gestartet.

Gruss

Hallo Lanzma,

das

Rows

bezieht sich, wenn nichts davor steht, auf das aktive Blatt. Du musst

Rows

ersetzen durch

Worksheets("system").Rows...

. Dann sollte es klappen.

Gruß, Andreas

Set Markierung = Worksheets(„system“).Range(„A1:A100“)

For Each Zelle In Markierung
If IsEmpty(Zelle) Then Rows(Zelle.Row).Hidden = True
Next Zelle

Hallo Lanzma,

eine Lösung haste ja schon.

Wenn Text (keine zahl) in A steht:

Sub tt()
Worksheets(„system“).Range(„A1:A100“).SpecialCells(xlCellTypeBlanks).Rows.Hidden = True
End Sub

Gruß
Reinhard

Kompliment
Hallo Reinhard,

macht immer wieder Spaß, deine Codes zu lesen. Einfach und effektiv. Klasse!

Gruß, Andreas

Noch ne kleine Variante
Hallo Lanzma,

hier noch mal eine ewas andere Form:

With Worksheets("system")
 For Each Zelle In .Range("A1:A100")
 If IsEmpty(Zelle) Then .Rows(Zelle.Row).Hidden = True
 Next Zelle
End With

Gruß, Andreas

Hallo Andreas

Vielen Dank für die genaue Erklärung, super… so sieht man wieso, weshalb, warum und das Ganze hat ein Lerneffekt.

Danke

Kurz und knackig :smile:

Danke