Excel VBA質問箱 IV

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

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


9577 / 76738 ←次へ | 前へ→

【72722】Re:重複文字の書き出し
発言  UO3  - 12/9/8(土) 13:44 -

引用なし
パスワード
   ▼Aoichi さん:

シートレイアウトはコードから想像していますので誤解ある可能性はあります。
また、転記レイアウトもよくわかりませんでしたので、以下のコードでは
転記先のC3以下に表示しています。

Sub 重複2()
  Dim x As Long
  Dim myA As Range
  Dim myW As Range
  Dim dupV() As String
  Dim k As Long
  Dim c As Range
  
  With Sheets("重複data")
    '現在の使用領域の外側に作業域を
    x = .UsedRange.Cells(.UsedRange.Cells.Count).Column + 2
    '現在のリスト領域
    Set myA = .Range("C3", .Range("C" & .Rows.Count).End(xlUp))
    '現在のリストからフィルターオプションで重複を排除した一覧を作成
    myA.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=.Cells(1, x), Unique:=True
    '重複を排除した領域(タイトルを除く)
    With .Cells(1, x).CurrentRegion
      Set myW = .Offset(1).Resize(.Rows.Count - 1)
    End With
  End With
  
  ReDim dupV(1 To myW.Rows.Count, 1 To 1)   '重複リスト用配列
  
  For Each c In myW
    If WorksheetFunction.CountIf(myA, c.Value) > 1 Then
      k = k + 1
      dupV(k, 1) = c.Value
    End If
  Next
  
  If k = 0 Then
    MsgBox "重複のデータはありませんでした"
  Else
  
    With Sheets("重複一覧")
      .Range("C3:C" & .Rows.Count).ClearContents
      .Range("C3").Value = "重複データ"
      .Range("C4").Resize(k).Value = dupV
      .Select
    End With
    
    MsgBox "重複データをピックアップしました"
    
  End If
  
End Sub

0 hits

【72720】重複文字の書き出し Aoichi 12/9/8(土) 12:45 質問
【72722】Re:重複文字の書き出し UO3 12/9/8(土) 13:44 発言
【72724】Re:重複文字の書き出し UO3 12/9/8(土) 14:14 発言
【72725】Re:重複文字の書き出し kanabun 12/9/8(土) 17:08 発言
【72726】Re:重複文字の書き出し Aoichi 12/9/8(土) 22:41 お礼
【72727】Re:重複文字の書き出し kanabun 12/9/9(日) 19:56 発言

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