エクセル マクロについての質問です。
チラシと在庫という異なるブックがあります。
チラシのSheet1は
B列 商品コード
在庫のSheet1は
F列 商品コード
K列 在庫数
M列 発注数
という形でデータが入っています。
このチラシのB列の商品コードと在庫の商品コードを照合して一致したものの在庫数と発注数をチラシのH列とI列に貼り付けをしたいです。
自分でネットなどを参照してコードを作っていましたが分からずに在庫数をコピーして持ってくることもできませんでした・・・。
レベルが低くて申し訳ありません。
どなたかご教授願えないでしょうか。
よろしくお願いいたします。<b
No.1ベストアンサー
- 回答日時:
こんばんは!
一例です。
「在庫」ブックが開いていない場合は開いて、操作完了後閉じるようにしてみました。
「チラシ」ブックの標準モジュールにしてみてください。
Sub Sample1()
Dim i As Long, k As Long, c As Range, wS As Worksheet
Dim myPath As String, fN As String, myFlg As Boolean
myPath = "保存場所のパス" & "\" '//←パスはプロパティで確認してください。
fN = "在庫.xlsx"
'//「在庫」ブックが開いていない場合は開く
Application.ScreenUpdating = False
For k = 1 To Workbooks.Count
If Workbooks(k).Name = fN Then
myFlg = True
End If
Next k
If myFlg = False Then
Workbooks.Open myPath & fN
End If
Set wS = Workbooks(fN).Worksheets("Sheet1")
With ThisWorkbook.Worksheets("Sheet1")
For i = 2 To .Cells(Rows.Count, "B").End(xlUp).Row
Set c = wS.Range("F:F").Find(what:=.Cells(i, "B"), LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
.Cells(i, "H") = c.Offset(, 5)
.Cells(i, "I") = c.Offset(, 7)
Else
.Cells(i, "H").Resize(, 2).ClearContents
End If
Next i
End With
Workbooks(fN).Close
Application.ScreenUpdating = True
MsgBox "処理完了"
End Sub
こんな感じではどうでしょうか?m(_ _)m
No.2
- 回答日時:
私だったらですが
在庫のブックのデータを
チラシのブックの別シートに張り付けるマクロを考える
( Workbook_Openでも利用してチラシのブックを開いたら常に
最新の在庫数になるようにするなど)
チラシの在庫数などは、Vlookup関数で処理させます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- Visual Basic(VBA) VBAで質問があります 1 2022/10/19 10:32
- その他(Microsoft Office) Excelで総数量を変動させたい 2 2022/11/04 23:49
- Visual Basic(VBA) vbaマクロについて シート1のA列にある商品コードが シート2のB列にある商品コードに該当する場合 2 2023/05/17 13:41
- Visual Basic(VBA) VBA For Each 〜 複数条件について 3 2022/10/20 20:05
- その他(Microsoft Office) Excelの関数(FILTER関数)について教えてください 2 2023/07/31 16:11
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) VBA シート間の転記で、条件の追加コードの書き方について教えて下さい。 13 2023/02/26 09:31
- Excel(エクセル) ある文字を含む際に、値を返す数式についてです 5 2022/08/28 16:58
- Visual Basic(VBA) VBAでのループ順序について 3 2023/03/13 10:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
別ブックをダイアログボックス...
-
ワイルドカード「*」を使うとう...
-
エクセルVBAが途中で止まります
-
vbaでvbaProjectのパスワード解...
-
VBAで別ブックのシートを指定し...
-
【VBA】全シートの計算式を全て...
-
VBS Bookを閉じるコード
-
ExcelのVBAです。フォルダ内の...
-
【マクロ】違うフォルダにある...
-
【ExcelVBA】インデックスが有...
-
エクセルのマクロを使ってメー...
-
エクセルのマクロについて教え...
-
複数のエクセルブックをひとつ...
-
【ExcelVBA】zip圧縮されたCSV...
-
Dir関数で複数ブックへ行いたい...
-
Excelのマクロコードについて教...
-
VBAで複数のブックを開かずに処...
-
マクロで最終行を取得したい
-
エクセルのマクロについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
エクセルVBAが途中で止まります
-
別ブックをダイアログボックス...
-
ワイルドカード「*」を使うとう...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
VBS Bookを閉じるコード
-
【ExcelVBA】インデックスが有...
-
VBA コードを実行すると画面が...
-
【ExcelVBA】zip圧縮されたCSV...
-
vbaでvbaProjectのパスワード解...
-
VBAで別ブックのシートを指定し...
-
ExcelのVBAです。フォルダ内の...
-
vbaで他のブックに転記したい。...
-
フォルダ内の全てのファイルに...
-
VBAで複数のブックを開かずに処...
-
VBSでExcelのオープン確認
-
VBA 実行時エラー 2147024893
-
【Excel VBA】書き込み先ブック...
-
VBA シート名が一致した場合の...
おすすめ情報