Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1260to1264
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

Ausgewählte Zeilen einblenden

Ausgewählte Zeilen einblenden
Heinz
Hallo Leute im Forum
Ich möchte alle Zeilen 3-154 ausgeblendet haben, außer jene die ich mit der Maus markiert habe.
Könnte mir bitte dazu jemand helfen?
Gruß
Heinz
AW: Ausgewählte Zeilen einblenden
27.04.2012 15:49:19
Sheldon
Hallo Heinz,
versuch mal das:
Sub Nichtselektierte_Zeilen_ausblenden()
Dim rngRow As Range
For Each rngRow In ActiveSheet.Rows("3:154")
If Intersect(rngRow, Selection.Rows) Is Nothing Then
rngRow.Hidden = True
End If
Next
End Sub
Gruß
Sheldon
AW: Ausgewählte Zeilen einblenden
27.04.2012 19:18:50
Heinz
Hallo Sheldon
Erstmals Danke. Es funktioniert,ABER es ruckelt,und braucht sehr lange.
Gruß
Heinz
AW: Ausgewählte Zeilen einblenden
27.04.2012 19:24:37
Hajo_Zi
Hallo Heinz,
schalöte die Bildwschirmakltualisierung ab und am Ende wieder ein.
Application.ScreenUpdating = False

Anzeige
Recht herzlichen Dank an Sheldon & Hajo
27.04.2012 19:29:58
Heinz
Hallo Hajo
schalöte die Bildwschirmakltualisierung ab und am Ende wieder ein.

Habe ich mittlerweile gemacht. UND siehe da,es funktioniert.
Recht herzlichen Dank an Sheldon & Hajo
Gruß
Heinz
Aus einer UF aufrufen
27.04.2012 23:01:10
Heinz
Hallo Sheldon & Heijo
Ich möchte jetzt das Makro aus einer UF aufrufen.
Da bekomme ich in der Zeile "rngRow.Hidden = True"
Die Hidden Eigenschaft kann nicht vestgelegt werden.
Könntet ihr bir bitte nochmals weiterhelfen?
Gruß
Heinz
Private Sub CommandButton7_Click()
'Sub Nichtselektierte_Zeilen_ausblenden()
Application.ScreenUpdating = False
Dim rngRow As Range
For Each rngRow In ActiveSheet.Rows("3:154")
If Intersect(rngRow, Selection.Rows) Is Nothing Then
rngRow.Hidden = True
End If
Next
Call BlattSchutz_Ein
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Aus einer UF aufrufen
27.04.2012 23:50:35
Sheldon
Hallo Heinz,
vermutlich musst du dann statt Activesheet. den Aufruf über ThisWorkbook.Sheets("Tabelle1"). benutzen (bzw. den Tabellennamen, den die betreffende Tabelle eben trägt). Denn während du in der UF bist, gibts ja kein Activesheet. Habe ich aber nicht getestet. Probiers aus, sonst meld dich einfach wieder ;-)
Gruß
Sheldon
AW: Aus einer UF aufrufen
28.04.2012 01:16:05
Heinz
Hallo Sheldon
Ich rufe die selbe UF in den Sheets Jänner bis Dezember auf.
Darum glaube ich schon mit ActiveSheet.
Danke & Gruß
Heinz
AW: Aus einer UF aufrufen
28.04.2012 02:30:16
Sheldon
dann probier das bitte aus, oder lade deine Mappe mal hoch. Okay?
Gruß
Sheldon
AW: Aus einer UF aufrufen
28.04.2012 12:19:09
Heinz
Hallo Sheldon
Habe die Mappe hochgeladen.(6MB)
http://schicket.de/C748/Test.xls
Im Sheet "April" ist eine kurze Anleitung.
Danke Heinz
Anzeige
AW: Aus einer UF aufrufen
29.04.2012 16:29:46
Tino
Hallo,
habe Deine Datei nicht geladen, kannst es aber mal so versuchen.
Wirkt auf die aktive Tabelle.
Selection ist automatisch auch die aktive Tabelle,
weil eine nicht aktive Tabelle keine Selection oder aktive Zelle besitzt.
kommt als Code in UserForm1
Option Explicit 
 
Private Sub CommandButton1_Click() 
Dim rngX As Range, rngC As Range, rngE As Range 
 
For Each rngX In Selection.EntireRow.Areas 
   Set rngC = ComplementRect(rngX) 
   If Not rngC Is Nothing Then 
      If rngE Is Nothing Then 
        Set rngE = rngC 
      Else 
        Set rngE = Intersect(rngE, rngC) 
      End If 
   End If 
Next rngX 
 
Set rngE = Intersect(rngE, Range(Rows(3), Rows(154))) 
If Not rngE Is Nothing Then 
  rngE.EntireRow.Hidden = True 
End If 
End Sub 
kommt als Code in Modul1
Option Explicit 
 
'******************************************************** 
'Code ist von Erich aus Kamp-Lintfort           * 
'******************************************************** 
Function ComplementRect(rngA As Range) As Range 
   Dim zv As Long, zb As Long, sv As Long, sb As Long, rngT As Range 
 
   zv = rngA.Row 
   zb = zv + rngA.Rows.Count - 1 
   sv = rngA.Column 
   sb = sv + rngA.Columns.Count - 1 
    
   If zv > 1 Then Set rngT = Range(Rows(1), Rows(zv - 1)) 
   If zb < Rows.Count Then 
      If rngT Is Nothing Then 
         Set rngT = Range(Rows(zb + 1), Rows(Rows.Count)) 
      Else 
         Set rngT = Union(rngT, Range(Rows(zb + 1), Rows(Rows.Count))) 
      End If 
   End If 
   If sv > 1 Then 
      If rngT Is Nothing Then 
         Set rngT = Range(Cells(zv, 1), Cells(zb, sv - 1)) 
      Else 
         Set rngT = Union(rngT, Range(Cells(zv, 1), Cells(zb, sv - 1))) 
      End If 
   End If 
   If sb < Columns.Count Then 
      If rngT Is Nothing Then 
         Set rngT = Range(Cells(zv, sb + 1), Cells(zb, Columns.Count)) 
      Else 
         Set rngT = Union(rngT, Range(Cells(zv, sb + 1), Cells(zb, Columns.Count))) 
      End If 
   End If 
   Set ComplementRect = rngT 
End Function 
Gruß Tino
Anzeige
AW: Aus einer UF aufrufen
29.04.2012 19:28:58
Heinz
Hallo Tino
Erstmals Danke für dein Feedback.
Aber leider bekomme ich ich hier auch den Fehler
 rngE.EntireRow.Hidden = True

Gruß
Heinz

Private Sub CommandButton7_Click()
Dim rngX As Range, rngC As Range, rngE As Range
For Each rngX In Selection.EntireRow.Areas
Set rngC = ComplementRect(rngX)
If Not rngC Is Nothing Then
If rngE Is Nothing Then
Set rngE = rngC
Else
Set rngE = Intersect(rngE, rngC)
End If
End If
Next rngX
Set rngE = Intersect(rngE, Range(Rows(3), Rows(154)))
If Not rngE Is Nothing Then
rngE.EntireRow.Hidden = True
End If
End Sub

Anzeige
Danke Tino & Sheldon
30.04.2012 15:41:33
Heinz
Hallo Tino & Sheldon
Danke, Eure Makros funktionieren.
Bin selber der Tepp gewessen.Hat nicht funktioniert,wegen Blattschutz.
Recht herzlichen Dank !!
Gruß
Heinz

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige