
いつもお世話になっております。
遣りたいこと
1.A列にあってB列になのものをC列
2.B列にあってA列にないものD列
結果
A列 B列 C列 D列 があります。
1 3 4 1
2 4 5 2
3 5 6
6
下記のコードは検索してためしたものです。
その中で
ここの部分がわかりません。
わかりやすいコーどおしえてくれませんでしょうか
'A列にありB列にないデータを作成
row2 = 2
For Each key In dicA
sh.Cells(row2, 4).Value = key
row2 = row2 + 1
Next
Public Sub データ比較()
Dim row As Long
Dim row2 As Long
Dim dicA As Object '連想配列
Dim key As Variant
Dim sh As Worksheet
Dim time1 As Variant
Dim time2 As Variant
Dim maxrow1 As Long
Dim maxrow2 As Long
time1 = Time
Set dicA = CreateObject("Scripting.Dictionary") ' 連想配列の定義
Set sh = ActiveSheet
maxrow1 = sh.Cells(Rows.Count, 1).End(xlUp).row ' A列最終行を求める
maxrow2 = sh.Cells(Rows.Count, 2).End(xlUp).row ' B列最終行を求める
'A列の連想配列を作成
For row = 2 To maxrow1
key = sh.Cells(row, 1).Value
dicA(key) = row
Next
row2 = 2
For row = 2 To maxrow2
key = sh.Cells(row, 2).Value
If dicA.Exists(key) = True Then
dicA.Remove (key)
Else
sh.Cells(row2, 3).Value = key
row2 = row2 + 1
End If
Next
'A列にありB列にないデータを作成
row2 = 2
For Each key In dicA
sh.Cells(row2, 4).Value = key
row2 = row2 + 1
Next
time2 = Time
MsgBox ("処理完了 所要時間(秒)=" & Second(time2 - time1))
End Sub
No.1ベストアンサー
- 回答日時:
やりたい事と結果が逆に思えるのですが。
Sub megu()
Dim i As Long
Dim n1 As Long
Dim n2 As Long
i = 1
Do Until Cells(i, 1).Value = "" And Cells(i, 2).Value = ""
With WorksheetFunction
If .CountIf(Range("B:B"), Cells(i, 1).Value) = 0 Then
n1 = n1 + 1
Cells(n1, 3).Value = Cells(i, 1).Value
End If
If .CountIf(Range("A:A"), Cells(i, 2).Value) = 0 Then
n2 = n2 + 1
Cells(n2, 4).Value = Cells(i, 2).Value
End If
End With
i = i + 1
Loop
End Sub

めぐみん様
お久しぶりです
東西線です。パスワードわすれて
こういう結果となりました。
また、よろしくお願いいたします。
なんか安心しました。
嬉しいです
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Excelで[表1]にあって、[表2]にないものを抽出する関数
その他(Microsoft Office)
-
A列にあってB列にはない単語をC列に残したいです。
Excel(エクセル)
-
Excel、Aのシートにあって、Bのシートにない番号を探すには?
Excel(エクセル)
-
-
4
EXCEL VBA 一致しないデータの抽出及びデータ更新
Excel(エクセル)
-
5
エクセル A表にあってB表に無い値を探したいのですが
Excel(エクセル)
-
6
離れた2列を比べて重複しないデータを隣の列に表示させる方法 Excel
Visual Basic(VBA)
-
7
VBAでのリスト不一致抽出について
Visual Basic(VBA)
-
8
エクセルVBAで 2種のリストを比べて重複していないデータを最下行に追加するには
Excel(エクセル)
-
9
指定した文字があった場合、その行を削除するマクロが欲しいです
Excel(エクセル)
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Cellsのかっこの中はどっちが行...
-
Changeイベントでの複数セルの...
-
Excelで、あるセルの値に応じて...
-
VBAのFind関数で結合セルを検索...
-
IIF関数の使い方
-
VBAを使って検索したセルをコピ...
-
URLのリンク切れをマクロを使っ...
-
vba 2つの条件が一致したら...
-
Excel VBA:エクセルのマクロで...
-
【Excel VBA】 B列に特定の文字...
-
VBA 何かしら文字が入っていたら
-
エクセルVBA intersect colu...
-
rowsとcolsの意味
-
VBAで、特定の文字より後を削除...
-
Worksheets メソッドは失敗しま...
-
グリッドの列の最大値を求めたい。
-
数字が「0」の列を削除するた...
-
重複データをまとめて合計を合...
-
DataGridViewにリンク列の追加...
-
targetをA列のセルに限定するに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで、あるセルの値に応じて...
-
Worksheets メソッドは失敗しま...
-
Cellsのかっこの中はどっちが行...
-
vba 2つの条件が一致したら...
-
【VBA】2つのシートの値を比較...
-
B列の最終行までA列をオート...
-
IIF関数の使い方
-
URLのリンク切れをマクロを使っ...
-
VBAを使って検索したセルをコピ...
-
DataGridViewに空白がある場合...
-
VBA 何かしら文字が入っていたら
-
VBAのFind関数で結合セルを検索...
-
複数の列の値を結合して別の列...
-
VBAでのリスト不一致抽出について
-
データグリッドビューの一番最...
-
VBAで指定範囲内の空白セルを左...
-
rowsとcolsの意味
-
【Excel VBA】 B列に特定の文字...
-
VBAで、特定の文字より後を削除...
-
エクセル 2つの表の並べ替え
おすすめ情報