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

Quelldaten filtern und in anderem Tabellenblatt einfügen

Quelldaten filtern und in anderem Tabellenblatt einfügen
01.04.2024 17:24:57
frank64
Gruß an alle.
Ich habe ein Problem mit meinem VBA Programm.
Grundlage: Ein Tabellenblatt mit all meine Musikstücken, Noten Beispiele etc. zusammengefasst in einer Intelligenten Tabelle mit 7 Spalten. Die Siebte Spalte hat ein Datumsformat. Insgesamt sind in dem Tabellenblatt "Alle" z.Z. 370 Einträge.
Das Ziel ist es Änderungen zu erkennen und in dem Zieldatenblatt sortiert einzufügen.
Ein Zieldatenblatt ist hier als Beispiel Weihnacht. Dieses Tabellenblatt habe ich vom Tabellenblatt "Alle" kopiert(wegen der Kopfzeile), umbenannt und alle Zeilen außer der Überschrift gelöscht.
Das Ziel Datenblatt wird durch eine Schaltfläche im Tabellenblatt Startseite geöffnet.
Sobald ich das Makro ausführe (ohne Fehlermeldung) wird die ganze Tabelle "Alle" am Tabellenanfang eingefügt und ausgeblendet und nochmals das komplette Tabellenblatt "Alle" eingefügt.(?????) Eine Sortierung hat nicht stattgefunden.
Jetzt habe ich 390 ausgeblendete Zeilen samt zweiter Kopfzeile. Bei hinzufügen eines neuen Weihnacht Titel , erneuten Aufruf der Zieldatenbank ist eine neue Zeile vor der Tabelle eingefügt. Jetzt also 391 ausgeblendete und 370 neue.
Ich finde zur Zeit keinen Fehler. ich bitte um Ratschläge und Vorschläge woher der Fehler kommt, von mir mal abgesehen, und wie ich das gesteckte Ziel erreichen kann.
Hier das Makro:

Sub Nav_Weihnacht()

Call Sheetswitch("Weihnacht")

Dim wsUebersicht As Worksheet
Dim wsGenre As Worksheet
Dim lastRow As Long

Set wsUebersicht = ThisWorkbook.Sheets("Alle")
Set wsGenre = ThisWorkbook.Sheets("Weihnacht")

lastRow = wsUebersicht.Cells(wsUebersicht.Rows.Count, 2).End(xlUp).Row
wsUebersicht.UsedRange.Copy wsGenre.Cells(lastRow + 1, 2)

wsGenre.AutoFilterMode = False
wsGenre.Range("D10").AutoFilter Field:=4, Criteria1:="Weihnacht"

Dim ws As Worksheet
Dim visibleRows As Long
Dim i As Long

' Aktives Tabellenblatt
Set ws = ActiveSheet

' Letzte Zeile mit Inhalt ermitteln
lastRow = ws.Cells(ws.Rows.Count, 2).End(xlUp).Row

' Zählen der sichtbaren Zeilen mit Inhalt
For i = 2 To lastRow
If Not ws.Rows(i).Hidden Then
If Application.WorksheetFunction.CountA(ws.Rows(i)) > 0 Then
visibleRows = visibleRows + 1
End If
End If
Next i

'Application.CutCopyMode = False

Dim oData As New DataObject ' Objekt für die Zwischenablage
oData.SetText Text:=Empty ' Leeren
oData.PutInClipboard ' In die Zwischenablage einfügen, um sie zu leeren

Range("G5") = ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible).Rows.Count + 1

ActiveWindow.DisplayVerticalScrollBar = True

End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Quelldaten filtern und in anderem Tabellenblatt einfügen
01.04.2024 17:48:44
Onur
Das Kopieren und einfügen passiert nur mit dem aktiven Blatt. Du setzt zwar die beiden Blattnamen in Variablen, benutzt sie aber nicht,
Was ist denn das aktive Blatt?
AW: Quelldaten filtern und in anderem Tabellenblatt einfügen
01.04.2024 17:55:37
frank64
Upps. Danke für die schnelle Antwort.
Das aktive Blatt ist Weihnacht, da dies über die Schaltfläche "Weihnacht" auf der "Startseite" aufgerufen wird.
AW: Quelldaten filtern und in anderem Tabellenblatt einfügen
01.04.2024 17:56:51
Onur
Es wäre sinnvoll gewesen, auch die (Beispiels-) Datei zu posten.
AW: Quelldaten filtern und in anderem Tabellenblatt einfügen
01.04.2024 17:59:24
Onur
"Schaltfläche "Weihnacht" auf der "Startseite" aufgerufen" ? Und was ist die Startseite? Das ist doch keine Schnitzeljagd hier....
AW: Quelldaten filtern und in anderem Tabellenblatt einfügen
01.04.2024 18:10:26
frank64
Sorry für die "Schnitzeljagd". Ich habe dies zwar am Anfang des Beitrages beschrieben, aber was solls.
Ich erkläre den Beitrag als beendet und werde das Forum verlassen.
Danke für die bisherige Antworten.
Anzeige
AW: Quelldaten filtern und in anderem Tabellenblatt einfügen
01.04.2024 18:18:08
Onur
wsGenre.Range("D10").AutoFilter Field:=4, Criteria1:="Weihnacht"

filtert das Blatt wsGenre, also das Blatt "Weihnacht".
Range("G5") = ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible).Rows.Count + 1 

Kopiert den benutzten gefilterten Bereich auf dem aktiven Blatt - also wieder das Blatt "Weihnacht".

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige