いつもお世話になっております。
遣りたいこと
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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Visual Basic(VBA) vba 重複データ合算 5 2023/07/05 18:55
- Visual Basic(VBA) 【VBA】特定のワードが入っている行全体を塗りつぶしたい 4 2022/04/20 15:22
- Visual Basic(VBA) ExcelVBAで、index、match関数を使用して、指定範囲に出力したい 3 2022/10/18 21:53
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
- Visual Basic(VBA) VBA横データを縦にしたいです 2 2023/08/08 19:38
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Visual Basic(VBA) vbaを早くしたい 5 2022/09/09 10:58
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
A列にあってB列にはない単語をC列に残したいです。
Excel(エクセル)
-
Excelで[表1]にあって、[表2]にないものを抽出する関数
その他(Microsoft Office)
-
VBAでのリスト不一致抽出について
Visual Basic(VBA)
-
-
4
エクセル A表にあってB表に無い値を探したいのですが
Excel(エクセル)
-
5
Excel VBAで比較して数値があってなかったらセルの色を変換
Visual Basic(VBA)
-
6
VBA 列全体を別シートの列と比較し、同じ値がある行の、右端に値をコピーする方法について
Excel(エクセル)
-
7
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
8
VBAで列の比較をする
Visual Basic(VBA)
-
9
エクセルで複数列の検索をマクロで行いたい
Excel(エクセル)
-
10
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
11
VBAでシートコピー後、シート名が重複している時の処理
Access(アクセス)
-
12
Excelのセルの色指定をVBAから配列を用いて効率的に行う方法はあり
Visual Basic(VBA)
-
13
離れた2列を比べて重複しないデータを隣の列に表示させる方法 Excel
Visual Basic(VBA)
-
14
【VBA】指定したセルと同じ値で、別シートにあるセルに移動するには?
Visual Basic(VBA)
-
15
エクセルマクロ:複数列 重複があった場合、メッセージと印入れる方法
Excel(エクセル)
-
16
Excel マクロ VBA 別シートのセルを検索し、該当するセルの右にあるセルを入力させる方法 s
Visual Basic(VBA)
-
17
VBA 条件が一致した場合のみコピーする
その他(ビジネス・キャリア)
-
18
vba 2つの条件が一致したらコピーして別シートに値のみ貼り付け
Visual Basic(VBA)
-
19
エクセルVBAにて、重複データ処理の高速化を実施したいのですが、いい方法はありますでしょうか? G列
Excel(エクセル)
-
20
【VBA】特定列に文字が入っていたらそのセル行をコピーしてマスターブックの同じ行に貼り付けたい
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで、あるセルの値に応じて...
-
VBAを使って検索したセルをコピ...
-
B列の最終行までA列をオート...
-
Cellsのかっこの中はどっちが行...
-
エクセルVBAにて =A1=B1とすれ...
-
VBマクロ 色の付いたセルを...
-
エクセルVBA intersect colu...
-
Worksheets メソッドは失敗しま...
-
文字列の結合を空白行まで実行
-
エクセルVBA シートモジュール...
-
【補足欄が足りなかったため、...
-
VBA 値と一致した行の一部の列...
-
vba 2つの条件が一致したら...
-
マクロ 関数を使った抽出でエラ...
-
【VBA】2つのシートの値を比較...
-
C# dataGridViewの値だけクリア
-
エクセル VBA ユーザーフォー...
-
別シートから年齢別の件数をカ...
-
グリッドの列の最大値を求めたい。
-
VBAで条件から範囲を指定して色...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Worksheets メソッドは失敗しま...
-
Excelで、あるセルの値に応じて...
-
B列の最終行までA列をオート...
-
vba 2つの条件が一致したら...
-
Cellsのかっこの中はどっちが行...
-
VBAを使って検索したセルをコピ...
-
VBAのFind関数で結合セルを検索...
-
文字列の結合を空白行まで実行
-
IIF関数の使い方
-
【VBA】2つのシートの値を比較...
-
マクロ 最終列をコピーして最終...
-
Changeイベントでの複数セルの...
-
VBA 何かしら文字が入っていたら
-
URLのリンク切れをマクロを使っ...
-
エクセルVBAにて =A1=B1とすれ...
-
VBAでのリスト不一致抽出について
-
データグリッドビューの一番最...
-
マクロについて。S列の途中から...
-
VBA UserFormからの転記で
-
targetをA列のセルに限定するに...
おすすめ情報