Supportnet / Forum / Tabellenkalkulation
kopieren mit Autofilter
Frage
Ich habe mir ein Makro geschrieben das mir den Zellinhalt und deren Formatierung in ein anderes Tabellenblatt kopiert. allerdings habe ich das Problem, dass wenn beim Tabellenblatt aus dem ich kopiere der Autofilter aktiv ist funktioniert mir das makro nicht. ich müsste dazu vileicht den Autofilter vor dem kiopiern durch ein makro beenden und nach dem kopiern wieder einchalten. kann man das durch ein makro lösen?
Hier ist mein aktuelles Makro.
Private Sub Worksheet_Activate()
Worksheets("Wartungsangebot2").Range("A1:D195").Copy
Worksheets("Wartungsbuch").Range("A1:D195").PasteSpecial Paste:=xlPasteValues
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End Sub
Würde mich über jede Hilfe freuen.
MFG Prack
Antwort 1 von coros
Hallo Prack,
mit nachfolgender Änderung sollte das was Du Dir vorstellst funktionieren.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
mit nachfolgender Änderung sollte das was Du Dir vorstellst funktionieren.
Option Explicit
Private Sub Worksheet_Activate()
If ActiveSheet.AutoFilterMode = True Then Range("A1:D195").AutoFilter
Worksheets("Wartungsangebot2").Range("A1:D195").Copy
Worksheets("Wartungsbuch").Range("A1:D195").PasteSpecial Paste:=xlPasteValues
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
If ActiveSheet.AutoFilterMode = False Then Range("A1:D195").AutoFilter
End SubMfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von prack
Danke für die Antwort, sie hat mir sehr weitergeholfen.
Aber eien weitere Frage hätte ich,
Wäre es möglich zu ermitteln welche spalte gefilter wurde und mit welchem wert, damit ich nach dem kopieren diese werte wieder so einstellen kann wie sie vor dem kopieren waren.
MFG Prack
Aber eien weitere Frage hätte ich,
Wäre es möglich zu ermitteln welche spalte gefilter wurde und mit welchem wert, damit ich nach dem kopieren diese werte wieder so einstellen kann wie sie vor dem kopieren waren.
MFG Prack
Antwort 3 von coros
Hallo Prack,
nachfolgender Code sollte das machen, was Du Dir vorgestellt hast. Tausche´ihn gegen den alten aus.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
nachfolgender Code sollte das machen, was Du Dir vorgestellt hast. Tausche´ihn gegen den alten aus.
Option Explicit
Private Sub Worksheet_Activate()
Dim iFilterCol As Integer
Dim iFilterWert As Variant
Application.ScreenUpdating = False
If ActiveSheet.AutoFilterMode = True Then
For iFilterCol = 1 To ActiveSheet.AutoFilter.Filters.Count
If ActiveSheet.AutoFilter.Filters(iFilterCol).On Then
iFilterWert = Mid(ActiveSheet.AutoFilter.Filters(iFilterCol).Criteria1, _
2, Len(ActiveSheet.AutoFilter.Filters(iFilterCol).Criteria1))
Exit For
End If
Next
Range("A1:D195").AutoFilter
End If
Worksheets("Wartungsangebot2").Range("A1:D195").Copy
Worksheets("Wartungsbuch").Range("A1:D195").PasteSpecial Paste:=xlPasteValues
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
If ActiveSheet.AutoFilterMode = False And iFilterWert <> "" Then
Range("A1:D195").AutoFilter Field:=iFilterCol, Criteria1:=iFilterWert
Else
Range("A1:D195").AutoFilter
End If
End SubMfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 4 von prack
Danke coros für die schnelle an Lösung, sie hat mien Problem gelöst.
DANKE
MFG Prack
DANKE
MFG Prack

