Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7036 / 76735 ←次へ | 前へ→

【75291】Re:プロセージャの作成をお願いいたします
発言  kanabun  - 14/2/3(月) 19:43 -

引用なし
パスワード
   ▼本山中 さん:

さらに、別法です。
フィルターオプションを使わないで、重複カットする方法です。
(一行目に見出しを必要としない方法です)
1.まずB列で並び替えます。
2.すると 重複するものが行で連続しますので、B列を下から見ていって
  ひとつ上の行と同じ値だったら、この行を空白セルにします。
3.そうしたら、B列で空白になっているセルを選択して 選択行を一括削除。

以上です。


以下にコードを示します。
前のコードは
名前を Private Sub Worksheet_BeforeDoubleClickX( _
か何かに変更しておいて、その下に ↓ をコピーしてください。

Private Sub Worksheet_BeforeDoubleClick( _
        ByVal Target As Range, Cancel As Boolean)
 If Target.Column = 2 Then
   Dim i As Long, k As Long
   Dim v
   
   Cancel = True
   With Range("A1").CurrentRegion
     .Sort Key1:=.Columns(2), Header:=xlNo
     v = .Columns(2).Value
     For i = UBound(v) To 2 Step -1
       If v(i, 1) = v(i - 1, 1) Then
         v(i, 1) = Empty
         k = k + 1
       End If
     Next
     If k > 0 Then
       .Columns(2).Value = v
       .Columns(2).SpecialCells(xlBlanks). _
             EntireRow.Delete '重複行削除
     End If
   End With
 End If

End Sub

多少こちらのほうが時間はかかるかもしれません

1 hits

【75285】プロセージャの作成をお願いいたします 本山中 14/2/3(月) 9:34 質問
【75286】Re:プロセージャの作成をお願いいたします kanabun 14/2/3(月) 14:59 発言
【75288】Re:プロセージャの作成をお願いいたします 本山中 14/2/3(月) 17:33 質問
【75289】Re:プロセージャの作成をお願いいたします kanabun 14/2/3(月) 19:01 発言
【75290】Re:プロセージャの作成をお願いいたします kanabun 14/2/3(月) 19:03 発言
【75291】Re:プロセージャの作成をお願いいたします kanabun 14/2/3(月) 19:43 発言
【75293】Re:プロセージャの作成をお願いいたします 本山中 14/2/4(火) 8:40 お礼

7036 / 76735 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free