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

Filter: nicht sichtbare löschen

Filter: nicht sichtbare löschen
Markus
Hallo,
ich habe eine Riesen-Monster-Mappe mit 35 Tabellen übernommen.
In diesen Tabellen sind überall Filter gesetzt, die teilweise sogar Benutzerdefiniert erstellt wurden.
(d.h. es ist teilweise nicht mehr möglich, herauszufinden wie der Filter gesetzt wurde.)
Die Mappe ist so gross, dass ich nun mittels eines Jobs, alle Tabellen so verkleinern möchte,
dass nur noch die angezeigten Werte sichtbar sind, und die "ausgefilterten" Zeilen für Ein- und Allemal weg sind (gelöscht werden).
Kann man sowas mit einem Makro machen?
Gruss
Markus

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Filter: nicht sichtbare löschen
17.01.2012 15:21:26
Josef

Hallo Markus,
das geht z. B. so.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub copySheets()
  Dim objSh As Worksheet, objNew As Worksheet
  Dim strName As String
  Dim lngCalc As Long
  
  On Error GoTo ErrExit
  
  With Application
    .ScreenUpdating = False
    .EnableEvents = False
    lngCalc = .Calculation
    .Calculation = xlCalculationManual
    .DisplayAlerts = False
  End With
  
  With ThisWorkbook
    For Each objSh In .Worksheets
      If objSh.AutoFilterMode Then
        strName = objSh.Name
        Set objNew = .Worksheets.Add(After:=objSh)
        objSh.UsedRange.SpecialCells(xlCellTypeVisible).Copy objNew.Cells(1, 1)
        objSh.Delete
        objNew.Name = strName
      End If
    Next
  End With
  
  ErrExit:
  
  With Err
    If .Number <> 0 Then
      MsgBox "Fehler in Prozedur:" & vbTab & "'copySheets'" & vbLf & String(60, "_") & _
        vbLf & vbLf & IIf(Erl, "Fehler in Zeile:" & vbTab & Erl & vbLf & vbLf, "") & _
        "Fehlernummer:" & vbTab & .Number & vbLf & vbLf & "Beschreibung:" & vbTab & _
        .Description & vbLf, vbExclamation + vbMsgBoxSetForeground, _
        "VBA - Fehler in Modul - Modul1"
      .Clear
    End If
  End With
  
  On Error GoTo 0
  
  With Application
    .ScreenUpdating = True
    .EnableEvents = True
    .Calculation = lngCalc
    .DisplayAlerts = True
  End With
  
End Sub


Wenn in der Mappe allerdings Formel - Bezüge zwischen den Tabellen bestehen, dann werden diese zerschoßen, da müsste man die Formeln vorher sichern.

« Gruß Sepp »

Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige