ファイル (A.xlsx)にある注文番号(画像が切れていますがB列です)が、
ファイル (B.xlsx)にある注文番号(B列・D列)の中に存在すれば
ファイル (A.xlsx)にあるチェック(D列)が〇、なければ✕にしたいです。
(B.xlsx)は空白を含みます。
(A.xlsx)と(B.xlsx)は同じフォルダ内にあります。
実際の(B.xlsx)のデータ数は数千あります、関数では厳しいでしょうか?
VBAで途中まで作成しましたが、完全に訳が分からなくなりました。
メチャクチャですが、少しでも完成イメージがお伝えできればと思い以下にまとめます。
Sub 判定()
Dim hida As Long
Dim migi As Long
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Set ws1 = ThisWorkbook.Worksheets(1)
Workbooks.Open Filename:=ThisWorkbook.Path & "\B.xlsx"
Set ws2 = ActiveWorkbook.Worksheets(1)
For migi = 4 To 2000
For hida = 4 To 8
If ws2.Range("B" & migi).Value = ws1.Range("B" & hida).Value Then
ws1.Range("D" & hida).Value = ”0”
Exit For
End If
Next
Next
End Sub
お詳しい方、お助け頂けますと幸いです。
宜しくお願いいたします。
No.5
- 回答日時:
No.1 です。
申し訳ございません。
End With
Next
↓
Next
End With
逆でした。。。
手打ちだけで検証してませんでした。
初級レベルなジジィはまた1つ歳を取ります。
No.4
- 回答日時:
こんばんは
>関数では厳しいでしょうか?
両方のブックが開いている状態であると仮定してよければ・・
D4セルに以下の式を入力して、下方にフィルコピー
=IFS(B4="","",COUNTIF([B.xlsx]Sheet1!$B:$B,B4)+COUNTIF([B.xlsx]Sheet1!$D:$D,B4),"〇",1,"×")
※ 計算が重いようであれば「$B:$B$」「$D:$D」部分の範囲を限定してみてください。
No.1
- 回答日時:
Sub 判定_改()
Dim ws1 As Worksheet
Dim r1 As Range, r2 As Range
Set ws1 = ThisWorkbook.Worksheets(1)
Workbooks.Open Filename:=ThisWorkbook.Path & "\B.xlsx"
Set r2 = ActiveWorkbook.Worksheets(1).Range("B:D")
With ws1
For Each r1 In .Range("B4", .Cells(Rows.Count, "B").End(xlUp))
If WorksheetFunction.CountIf(r2, r.Value) > 0 Then
r1.Offset(, 2).Value = "○"
Else
r1.Offset(, 2).Value = "×"
End If
End With
Next
End Sub
かな?
B.xlsxのシートC列の値が注文番号に一致するような物でないと言う前提ですが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Visual Basic(VBA) エクセルVBAで教えて頂きたいのですが? 2 2022/12/31 20:28
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) 貼り付けた値が消えていく 以下はソースファイルの2番目のシートのB6から最終行を取得 ターゲットファ 2 2023/07/27 12:23
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
共有フォルダに誰が何にアクセ...
-
【Excel】[Expression.Error] ...
-
Batch: フォルダ内の特定のファ...
-
特定のエクセルファイルを起動...
-
月が変わったら自動でシートが...
-
VBAでCSVファイルが使用中かど...
-
tmpファイル なぜできる?削除...
-
【アクセス】「ほかのユーザー...
-
mdbファイル フォームを開くと...
-
(Excelマクロ)datファイルをエ...
-
vbsでゴミ箱への移動
-
Access VBA を利用して、フォル...
-
XMLデータを変換し印刷する方法
-
【VBA】異なる行だけを抜き出す...
-
ACCESS リンクテーブルのEXCEL...
-
AccessVBAで作成したExcelファ...
-
相手のPCにVBAからメッセ...
-
WEBクエリが使えない場合のHPデ...
-
ファイルの途中に文字列を挿入
-
temp内ファイルを削除するプロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【Excel】[Expression.Error] ...
-
共有フォルダに誰が何にアクセ...
-
特定のエクセルファイルを起動...
-
VBAでCSVファイルが使用中かど...
-
Batch: フォルダ内の特定のファ...
-
(Excelマクロ)datファイルをエ...
-
月が変わったら自動でシートが...
-
mdbファイル フォームを開くと...
-
tmpファイル なぜできる?削除...
-
AccessVBAで作成したExcelファ...
-
ファイルの途中に文字列を挿入
-
Access VBA を利用して、フォル...
-
excelを共有ファイルにすると行...
-
拡張子が「cda」のファイルを聞...
-
Excel VBA 処理後データが重た...
-
【アクセス】「ほかのユーザー...
-
社内Excel共有ブックでの保存ト...
-
大量のCSVデータを行列の変換を...
-
XMLデータを変換し印刷する方法
-
Dream weaverで、誤ってファイ...
おすすめ情報
めぐみんさん、いつもお世話になっております。
早速コードを使わせていただきましたが、「End Withに対するWithがありません」
とエラーが表示されます。見た感じではWithとEnd Withの数は問題ないようです。
ご回答ありがとうございます。
もう一つ教えてください。
コードを実行するとエラーで、オブジェクトが必要です、と表示されます。
If WorksheetFunction.CountIf(r2, r.Value) > 0 Then
の部分のようです。