Excel VBA質問箱 IV

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

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


15281 / 76734 ←次へ | 前へ→

【66932】Re:2枚のシートを比較し同じものがあった場合その行を抽出したい
発言  kanabun  - 10/10/18(月) 9:53 -

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

Loopは不要です。

teian さんがおっしゃってるように、
> フィルターオプションの設定でやらせても良さそうな気もします。

2枚目のシートに対して、1枚目のシートのB列を【検索条件範囲】として
フィルタオプションを実行すればいいのです。
もちろん、1行目は列見出しが書いてあって、
1枚目のB列の見出しと 2枚目の(フィルタ抽出するシートの)C列の見出しは
一致している必要がありますけど。

あと、
> Set a = .Item("data1").Range("B1").CurrentRegion.Columns(1)
> Set b = .Item("data2").Range("C1").CurrentRegion.Columns(1)
はまずくないですか?
各シートとも「A列にも」データがはいってるとすると、
> .Range("B1").CurrentRegion.Columns(1)
では、結局A列が取得されてしまうことになりませんか?

Sub Try1()
 Dim a As Range
 Dim b As Range
 Dim mySht As Worksheet
 
 With Worksheets
  Set a = .Item("data1").Range("B1").CurrentRegion.Columns(2) 'B列
  Set b = .Item("data2").Range("A1").CurrentRegion
  Set mySht = .Add(After:=.Item(.Count))
 End With
 If a.Cells(1).Value <> b.Item(1, 3).Value Then
   MsgBox "比較する2列の列見出しは同じでなければなりません"
   Exit Sub
 End If

 b.AdvancedFilter xlFilterCopy, a, mySht.Range("A1")
 
End Sub
2 hits

【66918】2枚のシートを比較し同じものがあった場合その行を抽出したい あき 10/10/17(日) 3:38 質問
【66922】Re:2枚のシートを比較し同じものがあった場... teian 10/10/17(日) 8:01 発言
【66927】Re:2枚のシートを比較し同じものがあった場... あき 10/10/17(日) 21:45 お礼
【66932】Re:2枚のシートを比較し同じものがあった場... kanabun 10/10/18(月) 9:53 発言
【66935】Re:2枚のシートを比較し同じものがあった場... あき 10/10/18(月) 21:02 お礼

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