- ベストアンサー
リストから重複行を削除して貼り付けるとき...
Range("D6:D37").AdvancedFilter Action:=xlFilterCopy, _ copytorange:=Sheets("集計").Range("c2"), unique:=True 以上のようなマクロを実行させたとき,D6~D37のセルの中に 空白行もあり,リストをシート「集計」のC2のセルに貼り付けた 結果をみてみると,空白も貼り付けられています。 この空白を除いて貼り付ける方法をご教授していただけたらと思います。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
No1です。 こちらに差し替えてください。 Sub TEST01() Dim Rng As Range With Application .ScreenUpdating = False .Calculation = xlCalculationManual End With Set Rng = Range("D6:D37") ActiveSheet.AutoFilterMode = False With Rng .AutoFilter .AutoFilter Field:=1, Criteria1:="<>" .SpecialCells(xlCellTypeVisible).Copy End With ActiveSheet.AutoFilterMode = False With Sheets("集計") .Range("IV2").PasteSpecial Application.CutCopyMode = False .Range("IV2", .Range("IV2").End(xlDown)).AdvancedFilter _ Action:=xlFilterCopy, CopyToRange:=.Range("C2"), Unique:=True .Range("IV2", .Range("IV2").End(xlDown)).ClearContents End With With Application .ScreenUpdating = True .Calculation = xlCalculationAutomatic End With Set Rng = Nothing End Sub
その他の回答 (2)
- CHRONOS_0
- ベストアンサー率54% (457/838)
ジャンプのセル選択を使えば値のあるセルだけを選択できますね Sub Macro() Range("D6:D37").Select Selection.SpecialCells(xlCellTypeConstants, 23).Select Selection.Copy Sheets("集計").Select Range("C2").Select ActiveSheet.Paste End Sub
- merlionXX
- ベストアンサー率48% (1930/4007)
リストのRange("D6:D37")と、貼り付け先のSheets("集計")は別のシートなんですね? Sub TEST() With Application .ScreenUpdating = False .Calculation = xlCalculationManual End With Set Rng = Range("D6:D37") ActiveSheet.AutoFilterMode = False With Rng .AutoFilter .AutoFilter Field:=1, Criteria1:="<>" .SpecialCells(xlCellTypeVisible).Copy End With ActiveSheet.AutoFilterMode = False With Sheets("集計") .Range("IV2").PasteSpecial Application.CutCopyMode = False .Range("IV2", .Range("IV2").End(xlDown)).AdvancedFilter _ Action:=xlFilterCopy, CopyToRange:=.Range("C2"), Unique:=True .Range("IV2", .Range("IV2").End(xlDown)).ClearContents End With With Application .ScreenUpdating = True .Calculation = xlCalculationAutomatic End With これでどうでしょうか?