Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Vba - AutoFilter

Frage Entwicklung VB for Applications

Mitglied: goodbytes

goodbytes (Level 2) - Jetzt verbinden

10.11.2011 um 23:46 Uhr, 4012 Aufrufe, 2 Kommentare

Hallo,
ich habe eine Excel-Datei mit ein paar Makros für einen User erstellt, um ihm viel Zeit zu ersparen bei einigen Auswertungen.

Das Sheet ist mit Filter-Optionen in einer Zeile versehen. Nun sollen automatisiert Auswertungen mit mehreren durch Makros gesetzten Filtern gefahren werden, in deren Folge eine neue Arbeitsmappe erzeugt wird mit nach bestimmten Namens-Vorgaben erzeugten Sheets darin. Es werden praktisch per Makro die Filter gesetzt, das Ergebnis in einer Tabelle innerhalb der Quellmappe erzeugt und diese dann in das in der neu erstellten Zielmappe in das jeweils nach Filter erzeugtem neuen Sheet reinkopiert.

Das funktioniert auch schon bestens. Ich verzweifel aber an einem kleinen Problem.

Unterhalb der AutoFilter-Zeile möchte ich nach der per Makro gesetzten Filterkombination den Index der ersten zutreffenden Zeile ermitteln, um sie dann als Variable weiterzuverwenden.

Ich habe schon alles Mögliche versucht, leider ohne Erfolg. Mir ist schon klar, dass es die "visible"-Eigenschaft gibt, ich hatte mir auch schon mal irgendwann eine Funktion gebastelt, damit für Berechnungen nur die "visible"-Zeilen berücksichtigt werden. Allerdings weiss ich momentan nicht mehr wie es war...

Vielleicht kann mir da ja mal Jemand einen kleinen Tipp geben?

Wie gesagt, es geht mir wirklich nur um die Ermittlung der ersten Zeile der Filterung (die Filter greifen erst ab Zeile 17, also die Einstellung erfolgt mittels der Zeile 16).

Gruß
Torsten
Mitglied: 76109
11.11.2011 um 14:36 Uhr
Hallo TorstenB!

Wenn ich Dich richtig verstanden habe, dann in etwa so:
01.
'Beispiel mit Tabelle1 und AutoFilter in Spalte F Zeile 16 
02.
 
03.
Sub RowIndex() 
04.
    Dim EndLine As Long, Index As Long 
05.
     
06.
    With Sheets("Tabelle1") 
07.
        EndLine = .Cells(.Rows.Count, "F").End(xlUp).Row 
08.
        Index = .Range("F17:F" & EndLine).SpecialCells(xlCellTypeVisible).Row 
09.
    End With 
10.
End Sub
Gruß Dieter
Bitte warten ..
Mitglied: goodbytes
23.11.2011 um 08:20 Uhr
Hallo Dieter,
entschuldige, dass ich mich so spät melde. Ich hatte einfach zu viel um die Ohren...

Inzwischen hatte ich auch meine damals gebastelte Lösung wiedergefunden und entsprechend angepasst:

01.
Function Erste_sichtbare_Zeile() 
02.
 
03.
For i = 17 To Workbooks(Quelldatei).Sheets(1).Cells(Cells.Rows.Count, 1).End(xlUp).Row 
04.
         
05.
    If Workbooks(Quelldatei).Sheets(1).Cells(i, 1).EntireRow.Hidden = False Then 
06.
        Erste_sichtbare_Zeile = i 
07.
        Exit For 
08.
    End If 
09.
Next 
10.
 
11.
End Function
(Quelldatei ist hier eine Public-Variable.)

Aber vielen Dank für deine Lösung; ich habe sie mir in meine kleines Archiv mit aufgenommen, da muß ich beim nächsten Mal nicht mehr so suchen.

Eine schöne Woche wünsche ich dir noch !!!

Gruß Torsten
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
VB for Applications
Excel VBA Sortierung von Daten (5)

Frage von easy4breezy zum Thema VB for Applications ...

Microsoft Office
gelöst Excel-Formel oder VBA (7)

Frage von nicki01 zum Thema Microsoft Office ...

VB for Applications
gelöst VBA-Makro verschwindet nach Speichern (5)

Frage von lupi1989 zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (14)

Frage von liquidbase zum Thema Windows Update ...