[[20220113002828]] 『【初心者です】フォルダ内のデータを他ファイルに』(おいもん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『【初心者です】フォルダ内のデータを他ファイルに移したい!』(おいもん)

初心者です。すごくわかりにくいVBAで申し訳ございませんが、助けていただけると嬉しいです。

やりたいこと…フォルダ内に複数あるファイルの店舗というシートにあるデータを一つずつ抽出して、他のファイルに転記し、指定のシート(企画書シート)のみをコピーして名前を付けて保存したいです。名前は転記もとのファイルの〜〜〜配荷表.xlsxというファイル名の配荷表部分を企画書にした名前にして保存をしたいです(〜〜〜企画書.xlsx)。

途中まで書いた段階でエラーが出ているのですが、どうすればよいのかわからず困っています。エラー箇所は毎回変わりますが「企画書Sh」と書いている部分が黄色くなります…;;

以下、記載いたしますので、見ていただけると嬉しいです。
宜しくお願い致します。

Sub 企画書作成マクロ()

Application.ScreenUpdating = False

Dim 配荷表Wb As Workbook
Dim fileName As String
Dim 企画書加工Sh As Worksheet
Set 企画書加工Sh = Worksheets("企画書加工")

fileName = Dir(ThisWorkbook.Path & "\*.xlsx")

If fileName <> "" Then

Do

 Dim JANコード As Range
 Dim 商品名 As Range
 Dim 原価 As Range
 Dim 総額売価 As Range
 Set 配荷表Wb = Workbooks.Open(fileName:=ThisWorkbook.Path & "\" & fileName)

 Set JANコード = Worksheets("店舗").Range("E7", Range("E7").End(xlDown))
 Set 商品名 = Worksheets("店舗").Range("F7", Range("F7").End(xlDown))
 Set 原価 = Worksheets("店舗").Range("H7", Range("H7").End(xlDown))
 Set 総額売価 = Worksheets("店舗").Range("G7", Range("G7").End(xlDown))

 JANコード.Copy
 企画書加工Sh.Cells("A2").PasteSpecial Paste:=xlPasteValue
 商品名.Copy
 企画書加工Sh.Cells("B2").PasteSpecial Paste:=xlPasteValue
 原価.Copy
 企画書加工Sh.Cells("E2").PasteSpecial Paste:=xlPasteValue
 総額売価.Copy
 企画書加工Sh.Cells("G2").PasteSpecial Paste:=xlPasteValue

 JANコード.Copy
 Worksheets("企画書").Cells("H16").PasteSpecial Paste:=xlPasteValue
 企画書加工Sh.Range("C2", Range("C2").End(xlDown)).Copy
 Worksheets("企画書").Cells("E16").PasteSpecial Paste:=xlPasteValue
 企画書加工Sh.Range("D2", Range("D2").End(xlDown)).Copy
 Worksheets("企画書").Cells("F16").PasteSpecial Paste:=xlPasteValue
 原価.Copy
 Worksheets("企画書").Cells("I16").PasteSpecial Paste:=xlPasteValue
 企画書加工Sh.Range("F2", Range("F2").End(xlDown)).Copy
 Worksheets("企画書").Cells("J16").PasteSpecial Paste:=xlPasteValue
 総額売価.Copy
 Worksheets("企画書").Cells("K16").PasteSpecial Paste:=xlPasteValue
 企画書加工Sh.Range("N2", Range("H2").End(xlDown)).Copy
 Worksheets("企画書").Cells("N16").PasteSpecial Paste:=xlPasteValue

配荷表Wb.Close saveChanges:=False

fileName = Dir()
Loop Until fileName = ""
Else
MsgBox "データがありません"
End If

End Sub

ここまで、見ていただきありがとうございました。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


 開いたWorkbook(配荷表Wb)の中に企画書加工Shが無いからですよね、多分。

https://www.excel.studio-kazu.jp/cgi-bin/estindex/estseek2.cgi?phrase=%E5%88%A5%E3%81%AE%E3%83%96%E3%83%83%E3%82%AF+%E3%82%B3%E3%83%94%E3%83%BC+%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88+%E6%98%8E%E7%A4%BA&perpage=10&attr=&order=%40uri+STRD&clip=-1&navi=0

 参考になるスレッドがたくさんありますので、是非ご一読を。
(みかん) 2022/01/13(木) 07:51

>「企画書Sh」と書いている部分
見つけられませんでした。正確に書きましょう。

あと、エラーメッセージも書いて下さい。

ブックとシートの構成がはっきりしないので外しているかもしれませんが、ご参考。
https://www.google.com/search?q=VBA+Range+%E3%82%A8%E3%83%A9%E3%83%BC+%E3%82%B7%E3%83%BC%E3%83%88%E6%8C%87%E5%AE%9A
(わからん) 2022/01/13(木) 08:20


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.