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.

VBA Makro Spezialfilter in ein anderes Tabellenblatt
#1
Hallo Allerseits, 

Ich beschäftige mich erst seit kurzer Zeit mit VBA und komme nicht so wirklich weiter. 
Ich habe ein Tabellenblatt ("Selektionsliste") mit bedingter Formatierung erstellt. 
Die Tabelle soll regelmäßig mit neuen Werten erweitert werden und sobald der Wert von 6 in der 5. Spalte der Tabelle überschritten wird, soll die betreffende Zeile durch bedienen der Schaltfläche in ein anderes Tabellenblatt ("KWB neu") übertragen werden. 

Mit Hilfe eines Youtube- Videos habe ich das Ganze bisher ganz gut hinbekommen. Problem ist nur, dass sobald ich eine neue Zeile, welche den Wert von 6 übersteigt, hinzufüge  und danach die Schaltfläche bediene, lediglich die erste Spalte (und nicht wie gewünscht die komplette Zeile) in das Tabellenblatt  übertragen wird.... 

Hat vielleicht jemand eine Idee, woran es liegen könnte?  Huh  
Ich bin für jede Hilfe dankbar !! 


Code:
Sub LetzteZeile()

Dim lngLastRowSe As Long
Dim lngLastRowKWB As Long
Dim lngLastRowKr As Long
Dim lngLastRow As Long

lngLastRowSe = Worksheets("Selektionsliste").Cells(Rows.Count, "1").End(xlUp).Row
lngLastRowKWB = Worksheets("KWB neu").Cells(Rows.Count, "1").End(xlUp).Row
lngLastRowKr = Worksheets("Kriterien").Cells(Rows.Count, "1").End(xlUp).Row
lngLastRow = Worksheets("Kriterien").Cells(Rows.Count, "1").End(xlUp).Row

Sheets("Selektionsliste").Range("A1:E" & lngLastRowSe).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Sheets("Kriterien").Range("A1:E" & lngLastRowKr), CopyToRange:=Sheets("KWB neu").Range("A & lngLastRow"), Unique:=False

End Sub




Sub Filter()
'
' Filter Makro
' Filter: Wenn Summe >=6 in KWB
'
' Tastenkombination: Strg+Umschalt+F
'
    Sheets("KWB neu").Select
    Range("A1").Select
 
    Sheets("Selektionsliste").Range("Tabelle4[#All]").AdvancedFilter Action:= _
        xlFilterCopy, CriteriaRange:=Sheets("Kriterien").Range("A1:E2"), CopyToRange _
        :=Range("A1"), Unique:=False
End Sub
Antworten Top
#2
Hi,
ohne es getestet zu haben, der Fehler wird hier liegen:

Code:
CopyToRange:=Sheets("KWB neu").Range("A & lngLastRow")
dadurch dass & lngLastRow mit in den Anführungszeichen steht, wird die Variable nicht ausgewertetet.

Teste mal so:
Code:
CopyToRange:=Sheets("KWB neu").Range("A" & lngLastRow)
Gruß Regina
[-] Folgende(r) 1 Nutzer sagt Danke an ReginaR für diesen Beitrag:
  • luflee66
Antworten Top
#3
Hallo Regina, 

Vielen Dank für die schnelle Antwort, 
leider funktionierts trotzdem nicht wie gewünscht  Undecided

lg
Antworten Top
#4
..ok, noch ein Versuch:

Code:
CopyToRange:=Sheets("KWB neu").Range("A" & lngLastRow & ":E" & lngLastRow)


sonst bitte mal eine Beispieldatei hochladen.

Gruß Regina
[-] Folgende(r) 1 Nutzer sagt Danke an ReginaR für diesen Beitrag:
  • luflee66
Antworten Top
#5
Hallo,

Code:
Sub FiltereErweitert()
  Sheets("Selektionsliste").Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Sheets("Kriterien").Range("A1").CurrentRegion, CopyToRange:=Sheets("KWB neu").Range("A1:E1"), Unique:=False
End Sub

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • luflee66
Antworten Top
#6
Das klappt!  
Vielen Vielen Dank!!!

:28: :28: :28: :28:
Antworten Top


Gehe zu:


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