Excel VBA質問箱 IV

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

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


39613 / 76738 ←次へ | 前へ→

【42235】Re:処理時間の短縮
回答  ハチ  - 06/9/4(月) 19:14 -

引用なし
パスワード
   ▼凪 さん:
WorkSheetFunctionを2回使って抽出してみました。
IV列,IU列は空けておいてください。

Option Explicit
'各IV列,IU列を作業列に使う。
Sub Test()

Dim Ran1 As Range

Application.ScreenUpdating = False
With Worksheets(1)
  Set Ran1 = .Range(.Range("A1"), .Range("A65536").End(xlUp)).Offset(, 255)
End With
Ran1.Formula = "=CONCATENATE(A1,B1,C1,D1)"
Ran1.Value = Ran1.Value

On Error Resume Next
With Worksheets(2)
  With .Range(.Range("A1"), .Range("A65536").End(xlUp))
    '4つのセルで比較。一致するモノがなければ非表示
    .Offset(, 255).Formula = "=CONCATENATE(A1,B1,C1,D1)"
    .Offset(, 255).Value = .Offset(, 255).Value
    .Offset(, 254).Formula = "=IF(COUNTIF(Sheet1!" & Ran1.Address & ",IV1)=0,"""",1)"
    .Offset(, 254).Value = .Offset(, 254).Value
    .Offset(, 254).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
    
    '可視セルを5つのセルで比較。一致していれば非表示
    Ran1.Formula = "=CONCATENATE(A1,B1,C1,D1,E1)"
    Ran1.Value = Ran1.Value
    .Offset(, 255).SpecialCells(xlCellTypeVisible).Formula = _
    "=CONCATENATE(A1,B1,C1,D1,E1)"
    .Offset(, 255).Value = .Offset(, 255).Value
    .Offset(, 254).SpecialCells(xlCellTypeVisible).Formula = _
    "=IF(COUNTIF(Sheet1!" & Ran1.Address & ",IV1)=0,1,"""")"
    .Offset(, 254).Value = .Offset(, 254).Value
    .Offset(, 254).SpecialCells(xlCellTypeBlanks).EntireRow.EntireRow.Hidden = True
    '残って表示されているセルをSheet3にコピー
    .Resize(, 5).SpecialCells(xlCellTypeVisible).Copy Worksheets(3).Range("A1")
    
    '後処理
    .EntireRow.Hidden = False
    .Offset(, 255).Delete xlShiftToLeft
    .Offset(, 254).Delete xlShiftToLeft
  End With
  Ran1.Delete xlShiftToLeft
  Set Ran1 = Nothing
End With
On Error GoTo 0
Application.ScreenUpdating = True

End Sub
0 hits

【42228】処理時間の短縮 06/9/4(月) 16:26 質問
【42229】Re:処理時間の短縮 かみちゃん 06/9/4(月) 17:00 発言
【42287】Re:処理時間の短縮 06/9/5(火) 16:45 お礼
【42235】Re:処理時間の短縮 ハチ 06/9/4(月) 19:14 回答
【42261】Re:処理時間の短縮 06/9/5(火) 10:27 お礼
【42291】Re:処理時間の短縮 ハチ 06/9/5(火) 17:18 発言
【42307】Re:処理時間の短縮 06/9/6(水) 10:16 お礼
【42236】Re:処理時間の短縮 Hirofumi 06/9/4(月) 19:42 回答
【42238】Re:処理時間の短縮 飛ばない豚 06/9/4(月) 20:08 回答
【42256】Re:処理時間の短縮 飛ばない豚 06/9/5(火) 9:22 回答
【42259】Re:処理時間の短縮 Kein 06/9/5(火) 10:11 回答
【42308】Re:処理時間の短縮(解決) 06/9/6(水) 10:24 お礼

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