|
▼本山中 さん:
>実行してみたのですが、最初の行(A1,B1,C1,D1の行)だけが
>ダブって残ります。後はうまくいきます。
フィルタをかけるとき、一行目は列見出しと仮定されます。だから、
たとえ一行目が実際はデータだったとしても、Excelは頓着しません。
一行目が見出しでないなら、マクロで見出し行を挿入してやりましょう。
それから、上のマクロ、標準モジュールに置いて実行してみたようですが、
B列をダブルクリックすれば、自動で重複カット・マクロが走るように、
改良してみましょう。
シート見出しを右クリックしてそこの「シートの表示」メニューを選択する
と、シートモジュールが現れます。
そこに、以下をコピーしてください。
'-----------------------------------------------------------
Option Explicit
Private Sub Worksheet_BeforeDoubleClick( _
ByVal Target As Range, Cancel As Boolean)
If Target.Column = 2 Then
Cancel = True
Rows(1).Insert
Range("A1:D1").Value = Split("A B C D")
With Range("A1").CurrentRegion
.Columns("B").AdvancedFilter xlFilterInPlace, Unique:=True
.Copy Range("E1")
.Worksheet.ShowAllData
.EntireColumn.Delete
End With
With Range("A1").CurrentRegion
.Sort Key1:=.Columns("B"), Header:=xlYes
End With
Rows(1).Delete
End If
End Sub
|
|