Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Mit VBA Tabelle Kopieren
#1
Wink 
Hallo,

ich habe in einem Datenblatt eine Tabelle die ich in ein anderes Blatt kopieren und filtern möchte. 

In dem Blatt "Auswertung" habe ich 2 Zellen in die ich jeweils ein Datum schreibe. Da drunter soll nun eine Tabelle entstehen die alle Einträge aus der ersten Seite enthält, die innerhalb dieser 2 Datumseingaben liegen.
Sobald man ein Datum ändert, soll sich die Tabelle wieder anpassen.

Mein Code sieht bisher so aus:


Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngFilter As Range

If Not Intersect(Target, Me.Range("C2:C3")) Is Nothing Then
 
 Application.EnableEvents = False
 
 Set rngFilter = Worksheets("Daten").Range("B5").CurrentRegion
 
 Me.Range("G1:H1").Value = "Datum"
 Me.Range("G2").Value = ">=" & Me.Range("C2").Value
 Me.Range("H2").Value = "<=" & Me.Range("C3").Value

 rngFilter.AdvancedFilter _
                         Action:=xlFilterCopy, _
                         CriteriaRange:=Me.Range("G1:H2"), _
                         CopyToRange:=Me.Range("B5:E5"), _
                         Unique:=False

 Application.EnableEvents = True
 Set rngFilter = Nothing

End If
End Sub


Wäre schön wenn mir da jemand helfen könnte.



Viele Grüße
Michael


Angehängte Dateien
.xlsm   Muster.xlsm (Größe: 20,42 KB / Downloads: 5)
Antworten Top
#2
Hallo Michael,

so sollte es klappen:


Code:
Dim rngFilter As Range

If Not Intersect(Target, Me.Range("C2:C3")) Is Nothing Then
 
 Application.EnableEvents = False
 
 Set rngFilter = Worksheets("Daten").Range("B5").CurrentRegion
 
 Me.Range("G1:H1").Value = "Datum"
 Me.Range("G2").Value = ">=" & CLng(Me.Range("C2").Value)
 Me.Range("H2").Value = "<=" & CLng(Me.Range("C3").Value)

 rngFilter.AdvancedFilter _
                         Action:=xlFilterCopy, _
                         CriteriaRange:=Me.Range("G1:H2"), _
                         CopyToRange:=Me.Range("B5:E5"), _
                         Unique:=False

 Application.EnableEvents = True
 Set rngFilter = Nothing

End If
End Sub
Gruß Atilla
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste