Excel VBA質問箱 IV

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

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


29087 / 76738 ←次へ | 前へ→

【52940】Re:二列のデータ比較マクロ作成で困ってます
発言  ichinose  - 07/12/9(日) 21:29 -

引用なし
パスワード
   こんばんは。
こんな方法もあるということで・・・。

新規ブックの標準モジュールに
'=============================================================
Sub main()
  Dim rngA As Range
  Dim rngB As Range
  Dim ans As Range
  Call mk_sample
  MsgBox "このサンプルで追加データ、削除データを表示します"
  '実際のデータが準備されていれば、↑上記の2行は削除すること"
  Set rngA = Range("a2", Cells(Rows.Count, "a").End(xlUp))
  If rngA.Row <= 1 Then Set rngA = [a2]
  Set rngB = Range("b2", Cells(Rows.Count, "b").End(xlUp))
  If rngB.Row <= 1 Then Set rngB = [b2]
  Range("c1:d1").Value = Array("追加No.", "削除No.")
  On Error Resume Next
  Range("e1").Value = "work"
  rngB.Offset(0, 3).Formula = _
    "=IF(and(isnumber(b2),ISERROR(MATCH(B2," & rngA.Address & ",0))),B2)"
  Set ans = Union(Range("e1"), _
      rngB.Offset(0, 3)).SpecialCells(xlCellTypeFormulas, xlNumbers)
  If Err.Number = 0 Then
    ans.Copy
    Range("c2").PasteSpecial xlPasteValues
    End If
  Err.Clear
  Range("e:e").ClearContents
  Range("e1").Value = "work"
  rngA.Offset(0, 4).Formula = _
    "=IF(and(isnumber(a2),ISERROR(MATCH(a2," & rngB.Address & ",0))),a2)"
  Set ans = Union(Range("e1"), _
      rngA.Offset(0, 4)).SpecialCells(xlCellTypeFormulas, xlNumbers)
  If Err.Number = 0 Then
    ans.Copy
    Range("d2").PasteSpecial xlPasteValues
    End If
  Range("e:e").ClearContents
  Application.CutCopyMode = False
  On Error GoTo 0
End Sub
'===================================================================================
Sub mk_sample()
  Range("a1:b1").Value = Array("元データ", "追加データ")
  Range("a2:b6").Value = _
    [{2763,4536;77756,6873;2445,2763;68767,29876;8888,2445}]
End Sub

これでmainを実行してみてください。

サンプルデータもコードで用意していますから、空シートをアクティブにして
試してみてください。
尚、E列を作業エリアとしてプログラムが使用していますから、注意してください。

作業列を設け(ここではE列)、そこに数式をコードで入力します。
数式の結果から条件にあったセルをSpecialCellsメソッドで取得する
というこのサイトでは良く見かける方法です。

0 hits

【52904】二列のデータ比較マクロ作成で困ってます しーちゃん 07/12/8(土) 23:47 質問
【52905】Re:二列のデータ比較マクロ作成で困ってます かみちゃん 07/12/9(日) 1:05 発言
【52908】Re:二列のデータ比較マクロ作成で困ってます Hirofumi 07/12/9(日) 8:57 回答
【52909】Re:二列のデータ比較マクロ作成で困ってます Hirofumi 07/12/9(日) 9:33 回答
【52940】Re:二列のデータ比較マクロ作成で困ってます ichinose 07/12/9(日) 21:29 発言
【52945】Re:二列のデータ比較マクロ作成で困ってます じゅんじゅん 07/12/9(日) 22:40 発言
【53449】Re:二列のデータ比較マクロ作成で困ってます しーちゃん 08/1/13(日) 14:51 お礼

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