
エクセル マクロについての質問です。
チラシと在庫という異なるブックがあります。
チラシの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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数のエクセルファイルとシー...
-
VBA シートをコピーする際に Co...
-
エクセルのマクロについて教え...
-
【Excel VBA】書き込み先ブック...
-
VBA 別ブックからコピペしたい...
-
【ExcelVBA】zip圧縮されたCSV...
-
別ブックをダイアログボックス...
-
エクセルマクロで、他ブックか...
-
VBAで別のブックにシートをコピ...
-
VBA コードを実行すると画面が...
-
ワイルドカード「*」を使うとう...
-
エクセルVBAでテキストボックス...
-
Excel マクロ ファイルと同じシ...
-
オブジェクトは、このプロパテ...
-
VBA シート名が一致した場合の...
-
VBA アプリケーション定義また...
-
[Excel VBA] 複数のサブフォル...
-
エクセルVBAでBOOKを開く際の処理
-
EXCEL2013 シート内容を別ブッ...
-
【ExcelVBA】インデックスが有...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別ブックをダイアログボックス...
-
VBA シートをコピーする際に Co...
-
VBA 別ブックからコピペしたい...
-
エクセルVBAが途中で止まります
-
VBA コードを実行すると画面が...
-
ワイルドカード「*」を使うとう...
-
VBAで別ブックのシートを指定し...
-
オブジェクトは、このプロパテ...
-
VBAで別のブックにシートをコピ...
-
Excelマクロ 該当する値の行番...
-
【Excel VBA】書き込み先ブック...
-
複数のエクセルファイルとシー...
-
【ExcelVBA】zip圧縮されたCSV...
-
【ExcelVBA】インデックスが有...
-
VBA シート名が一致した場合の...
-
2つ目のコンボボックスが動作...
-
Excel マクロ ファイルと同じシ...
-
【VBA】全シートの計算式を全て...
-
[Excel]ADODBでNull変換されて...
-
Excel2007VBAファイルの表示に...
おすすめ情報