
VBAについてのご質問です。
”データ処理ファイル”というファイルの”データ処理シート”というシートの”B1:S110000”セルをコピーして
同じフォルダ内のすべてのファイルの”あ”というシートの”B1:S110000”セルにペーストしたいです。
自分なりに下記のように作ってみましたが一部でエラーが出てしまいうまく動作しません。
お手数をおかけしますが、どのように修正すればよいかご教示いただけますでしょうか。
また、全然違うようでしたらサンプルコードをいただけないでしょうか?
差し出がましい質問で大変恐縮ですが、ご教示いただけると幸いです。
Sub 粗さデータ処理()
Dim fileName As String
Dim wsName As String: wsName = "粗さデータ" '対象ワークシート名
Application.ScreenUpdating = False '各ファイルの変更処理を表示させない
Application.DisplayAlerts = False '保存時メッセージを表示させない
ChDir ThisWorkbook.Path
fileName = Dir("*.xlsx?") 'フォルダ内の最初のエクセルファイル名を取得
Do While fileName <> ""
If fileName <> ThisWorkbook.Name Then 'マクロのあるファイルでなければ
With Workbooks.Open(fileName) 'ファイルオープン
ThisWorkbook.Worksheets("粗さデータ処理シート").Range("B1:S110000").Copy_
.Worksheets(wsName).Range("B1").Select
.Close savechanges:=True '保存&クローズ
End With
End If
fileName = Dir() 'フォルダ内の次のエクセルファイル名を取得
Loop
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
ThisWorkbook.Worksheets("粗さデータ処理シート").Range("B1:S110000").Copy_でエラーが出ています。
No.3ベストアンサー
- 回答日時:
もし、Cドライブ上にない場合は、ChDirを使用しない方法のほうが良いです。
かなり書き換えますが、以下のようにしてください。
これから、外出します。戻りは、夕方以降になります。
Sub 粗さデータ処理()
Dim fileName As String
Dim filePath As String
Dim wsName As String: wsName = "粗さデータ" '対象ワークシート名
Application.ScreenUpdating = False '各ファイルの変更処理を表示させない
Application.DisplayAlerts = False '保存時メッセージを表示させない
filePath = ThisWorkbook.path
fileName = Dir(filePath & "\" & "*.xls?") 'フォルダ内の最初のエクセルファイル名を取得
Do While fileName <> ""
If fileName <> ThisWorkbook.Name Then 'マクロのあるファイルでなければ
With Workbooks.Open(filePath & "\" & fileName) 'ファイルオープン
ThisWorkbook.Worksheets("粗さデータ処理シート").Range("B1:S110000").Copy .Worksheets(wsName).Range("B1")
.Close savechanges:=True '保存&クローズ
End With
End If
fileName = Dir() 'フォルダ内の次のエクセルファイル名を取得
Loop
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
本当にありがとうございます!
ファイルがCドライブ上になかったみたいでした。新しくいただいたコードで動作できました。
丁寧で迅速な対応をしていただき本当にありがとうございます。
No.2
- 回答日時:
>処理が行われない状態となってしまいました。
コピー先に、コピーされないということでしょうか?
With Workbooks.Open(fileName) 'ファイルオープン
の行にブレイクポイントを設定し、実行したとき、そこで止まると思いますが、そのあと、1ステップずつ実行して、期待した動作をするか、確認してください。
また、ブレイクポイントで、止まった時、fileNameにマウスをあてると、ファイル名が表示されます。そのファイル名が、期待した結果であることを確認してください。
一点、気になるのは、マクロを格納したブックが、Cドライブであれば、問題ありませんが、Cドライブでない場合、
ChDir ThisWorkbook.Path
は、マクロを格納したフォルダに移動してくれません。
マクロを格納したブックは、Cドライブ上にありますか。
No.1
- 回答日時:
ThisWorkbook.Worksheets("粗さデータ処理シート").Range("B1:S110000").Copy_
.Worksheets(wsName).Range("B1").Select
の2行を
ThisWorkbook.Worksheets("粗さデータ処理シート").Range("B1:S110000").Copy _
Destination:=.Worksheets(wsName).Range("B1")
にしてください。
Copyの後に空白を1つ入れてから継続の_を入れます。
継続行を指定した場合、2行目は、Destination:=を指定しないとエラーになるようです。
1行で、
ThisWorkbook.Worksheets("粗さデータ処理シート").Range("B1:S110000").Copy .Worksheets(wsName).Range("B1")
と書いてもOKです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 1 2024/02/03 22:51
- Visual Basic(VBA) Excel VBA マクロ あるフォルダー内の複数のファイルを統合したいです 1 2024/02/19 21:37
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) 一つのフォルダーに50個のエクセルファイルがあります。 各ファイルにはAとBのシートがあります。 5 2 2023/10/03 16:25
- Visual Basic(VBA) Excelのマクロについて教えてください。 2 2024/06/14 16:38
- Visual Basic(VBA) Excelのマクロについて教えてください。 1 2024/06/18 09:20
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) 貼り付けた値が消えていく 以下はソースファイルの2番目のシートのB6から最終行を取得 ターゲットファ 2 2023/07/27 12:23
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Visual Basic(VBA) VBAに関して 2 2023/11/09 20:57
このQ&Aを見た人はこんなQ&Aも見ています
-
見学に行くとしたら【天国】と【地獄】どっち?
みなさんは、一度だけ見学に行けるとしたら【天国】と【地獄】どちらに行きたいですか? 理由も聞きたいです。
-
いちばん失敗した人決定戦
あなたの「告白」での大失敗を教えてください。
-
もし10億円当たったら何に使いますか?
みなさんの10億円プランが知りたいです!
-
あなたなりのストレス発散方法を教えてください!
自分なりのストレス発散方法はありますか?
-
思い出すきっかけは 音楽?におい?景色?
記憶をふと思い出すきっかけは 音楽、におい、景色 どれですか?
-
Excel VBAについて。こんな動作をさせるためにはどう書けばよいでしょうか。
Visual Basic(VBA)
-
【ExcelVBA】5万行以上のデータ比較の効率的な処理方法について
Visual Basic(VBA)
-
VBAのエラー表示の対処法について
Visual Basic(VBA)
-
-
4
不要項目の行削除方法について
Visual Basic(VBA)
-
5
以下のプログラムの実行結果はどうなると思いますか? その理由も教えてください。
Visual Basic(VBA)
-
6
マクロVBAです。 どなたかコードをご教示いただけないでしょうか。 シート名に(チェ)がある全シート
Visual Basic(VBA)
-
7
ExcelVBA修正のお願い
Visual Basic(VBA)
-
8
VBA初心者です。次のVBAコードで、17行目を削除したいのですがうまく動きません 改善策を教えてく
Visual Basic(VBA)
-
9
VBA コードどこがおかしいですか?
Visual Basic(VBA)
-
10
VBA 入力箇所指定方法
Visual Basic(VBA)
-
11
[Excel VBA]特定の条件で文字を削除&残す処理をするファイルを作成したいです
Visual Basic(VBA)
-
12
エクセルvbaの対象セルに色をつける 例えば a日付 b種類 c値段 dその他 にんじん 50 ぴー
Visual Basic(VBA)
-
13
エクセル タブの下のメニューを選択 実行するコード
Visual Basic(VBA)
-
14
VBAでセルの書式を変えずに文字列を置換する方法をご教示ください
Visual Basic(VBA)
-
15
Visualbasicの現状について教えてください
Visual Basic(VBA)
-
16
VBA 2次元配列の出力
Visual Basic(VBA)
-
17
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
18
VBAで特定の文字が入った行をコピーして貼り付けたい
Visual Basic(VBA)
-
19
Excelで合計を求めたいです
Excel(エクセル)
-
20
エクセルのブック名の付け方
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelのVBAコードについて教え...
-
Excel マクロについて詳しい方...
-
えくせるのVBAコードについて教...
-
エクセルのVBAコードについて教...
-
VBAの「To」という語句について
-
算術演算子「¥」の意味について
-
VBA 最終行の取得がうまくいか...
-
VB.net 文字列から日付型へ変更...
-
マクロVBAです。 どなたかコー...
-
質問58753 このコードでうまく...
-
VBAから書き込んだ条件付き初期...
-
VBAについて教えて下さい
-
VBAで特定の文字が入った行をコ...
-
Excel 範囲指定スクショについ...
-
【マクロ】オートフィルターに...
-
Vba 型が一致しません(エラー1...
-
VBAでFOR NEXT分を Application...
-
Vba WorkBooks.Openについて教...
-
Excel VBAについて。こんな動作...
-
不要項目の行削除方法について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.net 文字列から日付型へ変更...
-
VBA 最終行の取得がうまくいか...
-
VBAでエクセルのテキストデータ...
-
【ExcelVBA】5万行以上のデー...
-
エクセルVBAで在庫の組み換え処...
-
VBAから書き込んだ条件付き初期...
-
エクセルのVBAコードについて教...
-
VBAでユーザーフォームを指定回...
-
エクセルのVBAについて教えてく...
-
vbaマクロについて
-
ExcelのVBAコードについて教え...
-
【VBA】 結合セルに複数画像と...
-
WindowsのOutlook を VBA から...
-
質問58753 このコードでうまく...
-
ExcelのVBAコードについて教え...
-
Excel VBAについて。こんな動作...
-
[Excel VBA]特定の条件で文字を...
-
[VB.net] ボタン(Flat)のEnable...
-
エクエルのVBAコードについて教...
-
ExcelのVBAコードについて教え...
おすすめ情報
ご回答本当にありがとうございます。
ご指摘いただいたとおりに修正したところ、エラーは出ませんが処理が行われない状態となってしまいました。
度々申し訳ございませんが、このような場合はどのように対処すればよろしいでしょうか?
よろしくお願いいたします。