2016-07-11 6 views
-1

Ich habe folgende Excel-Tabelle:Hardcopy alle Werte mit Makro obwohl ein Filter verwendet wird

   A    B    
    1   Sales Price  Sales Price 
    2   50 
    3   20 
    4   30 
    5   40 
    6   80 
    7   50 
    8   40 
    9   20 
    10  50 

Jetzt mag ich das folgende Makro verwenden, um die Werte aus Spalte A bis Spalte B Hardcopy:

Sub Hardcopy() 
Sheets(Sheet1).Range("A2:A10").Copy 
Sheets(Sheet1).Range("B2:B10").PasteSpecial Paste:=xlPasteValues 
Application.CutCopyMode = xlCopy 
End Sub 
perfekt

arbeitet Dieses Makro. Allerdings, wenn ich einen Filter ino Spalte A nun so eingestellt, sieht es zum Beispiel wie folgt aus:

   A    B    
    1   Sales Price  Sales Price 
    2   50 
    7   50 
    10  50 

und ich führen Sie das obige Makro wieder wird es nur die gefilterten Werte Hardcopy.

Ich möchte, dass das Makro tut Hardcopy alle Werte unabhängig davon, welche Art von Filter eingerichtet ist.

Haben Sie eine Idee, wie ich dieses Problem lösen kann?

+0

welche Art von Filter, den Sie haben? der Code davon? Sie können alle Filter entfernen, Spalte A in Spalte B kopieren und dann zurückfiltern. –

Antwort

0

Soweit ich weiß, gibt es keine ‚intelligente‘ Art und Weise dies durch den Quellbereich ohne Looping zu tun, und die Werte auf dem Zielbereich einstellen, zum Beispiel:

Option Explicit 

Sub Test() 
    CopyAllRows ThisWorkbook.Worksheets("Sheet1"), 1, 2 
End Sub 

Sub CopyAllRows(ByRef ws As Worksheet, ByVal lngSourceColumn As Long, ByVal lngTargetColumn As Long) 

    Dim rngFilter As Range 
    Dim rngSource As Range 
    Dim rngCell As Range 

    'quit if no filter 
    If ws.AutoFilterMode = False Then 
     Exit Sub 
    End If 

    'get source range 
    Set rngFilter = ws.AutoFilter.Range 
    Set rngSource = rngFilter.Offset(1, 0).Resize(rngFilter.Rows.Count - 1, lngSourceColumn) 

    'assign values to target column (no clipboard) 
    For Each rngCell In rngSource 
     rngCell.Offset(0, lngTargetColumn - lngSourceColumn).Value = rngCell.Value 
    Next rngCell 

End Sub 
Verwandte Themen