
下記、xmlファイルを開いてコピペするというvbaの記述です。しかし、
ThisWorkbook.Worksheets(1).Range(Cells(target, 1), Cells(target + 287, 1)) = wb.Range(Cells(2, 25), Cells(289, 25))
の行で、実行時エラー438 オブジェクトは、このプロパティまたはメソッドをサポートしていません。とエラーが出てしまいます。どのように修正したらいいかおしえていただけないでしょうか。
Sub OpenFilesInFolder()
Dim path, fso, file, files
Dim target As Long
path = ThisWorkbook.path & "\"
Set fso = CreateObject("Scripting.FileSystemObject")
Set files = fso.GetFolder(path).files
'フォルダ内の全ファイルについて処理
For Each file In files
'ファイルを開いてブックとして取得
Dim wb As Workbook
Workbooks.OpenXML _
Filename:=file.path, LoadOption:=xlXmlLoadImportToList
Set wb = ActiveWorkbook
' MsgBox wb.Name
'ブックに対する処理
target = ThisWorkbook.Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Row + 1
ThisWorkbook.Worksheets(1).Range(Cells(target, 1), Cells(target + 287, 1)) = wb.Range(Cells(2, 25), Cells(289, 25))
ThisWorkbook.Worksheets(1).Range(Cells(target, 2), Cells(target + 287, 2)) = wb.Range(Cells(2, 27), Cells(289, 27))
ThisWorkbook.Worksheets(1).Range(Cells(target, 3), Cells(target + 287, 3)) = wb.Range(Cells(2, 28), Cells(289, 28))
'保存せずに閉じる
Call wb.Close(SaveChanges:=False)
Next file
End Sub

No.2
- 回答日時:
wb.Range(Cells(2, 25), Cells(289, 25)
この指定の場合、wbはシートで無いとイケナイのに、実際はwbにはSet wb = ActiveWorkbookでブックを指定してる。
Set wb = ActiveSheet じゃ無いのですか??
No.1
- 回答日時:
こんにちは
違う原因の場合もあるかも知れませんが、ひとまず気付いた点を・・・
>ThisWorkbook.Worksheets(1).Range(Cells(target, 1), Cells(target + 287, 1)) = _
>wb.Range(Cells(2, 25), Cells(289, 25))
Rangeの指定がそれぞれ、Worksheet(1)、wbとなっていますが、範囲指定をしているCells()は無指定なので、デフォルトのActivesheet.Cells()として解釈されます。
他シートのセルを参照するわけにはいかないので、それが原因ではないでしょうか?
ThisWorkbook.Worksheets(1).Cells(target, 1).Resize(288)
等としておけば、矛盾は生じないと思います。
あるいは、targetの値(=既存最終行)が大きすぎて、シートの列内に納まらないとか・・
(多分、この場合は違うエラーメッセージになりそう)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) vbaの構文の修正相談(xmlファイルを順に開いてコピペ作業) 1 2023/04/22 01:18
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) Sheet1のA列にコードB列にメアド、Sheet2のB列にコード一覧とD列にメアド一覧があり、Sh 3 2022/10/19 11:57
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) VBA 請求書自動作成 3 2022/04/24 01:58
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
このQ&Aを見た人はこんなQ&Aも見ています
-
「それ、メッセージ花火でわざわざ伝えること?」
「それ、メッセージ花火でわざわざ伝えること?」というメッセージを教えて下さい
-
【お題】甲子園での思い出の残し方
【お題】「球場の砂を持って帰る」はもう古いと思った高校球児が、甲子園で負けた際に、思い出に残そうと思って行ったこと
-
歩いた自慢大会
「めちゃくちゃ歩いたエピソード」を教えてください。
-
ゆるやかでぃべーと タイムマシンを破壊すべきか。
[状況]これはディベートの論題だと仮定したうえでの回答お願いします。
-
かっこよく答えてください!!
あなたは今にも別れそうなカップルの彼女の恋愛相談に乗っています。
-
実行時エラー 438になった時の対処法を教えて下さい。
Visual Basic(VBA)
-
実行時エラー 438 の解決策をおしえてください。
Visual Basic(VBA)
-
実行時エラー438 オブジェクトはこのプロパティまたはメソッドをサポートしていません について
Visual Basic(VBA)
-
-
4
エクセルの実行時エラー 438"に困っています"
Excel(エクセル)
-
5
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
-
6
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
7
VBA コピーが出来ません…!
Visual Basic(VBA)
-
8
access2021 VBA メソッドまたはデータメンバーが見つかりません エラー発生
Access(アクセス)
-
9
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
10
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
11
文字列からタブコードを取り除きたい
Visual Basic(VBA)
-
12
UserForm1.Showでエラーになります。
工学
-
13
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
14
Rangeメソッドは失敗しました。globalオブジェクトについて
Excel(エクセル)
-
15
Excel VBA のdebug(F8キー) がうまく動作しません(超初心者です)
Excel(エクセル)
-
16
ExcelVBA でリストリストボックスに列見出しをコーディングでつける
Excel(エクセル)
-
17
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
18
リンクをアップデートするしないの自動化
Excel(エクセル)
-
19
EXCEL VBA オートシェイプナンバーのリセット
Visual Basic(VBA)
-
20
ExcelのVBA。public変数の値が消える
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・昔のあなたへのアドバイス
- ・字面がカッコいい英単語
- ・許せない心理テスト
- ・歩いた自慢大会
- ・「I love you」 をかっこよく翻訳してみてください
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・はじめての旅行はどこに行きましたか?
- ・準・究極の選択
- ・この人頭いいなと思ったエピソード
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで、貼り付け禁止命令を実現...
-
エクセルVBA(実行時エラー438...
-
メッセージを1度だけ表示したい。
-
EXCELマクロ 保護されているシ...
-
Windowsで動くVBAがmacOSで動か...
-
Excel VBA セルを指定個数ラン...
-
データが入力されている隣のセ...
-
vbaでセルの編集をしたい(文字...
-
StringGridでの文字入力制限
-
離れた複数のセルのどこかに文...
-
背景色の条件分岐
-
エクセルVBA セル選択後にカレ...
-
ダブルクリックすると現在の時...
-
EXCELで特定のセルに表示...
-
エクセル: セルの枠を超えて表示
-
エクセルのセル内の余白の設定...
-
エクセルでの計算式で求められ...
-
エクセルで表示形式の時刻の「0...
-
エクセル:マクロ「Application...
-
エクセルのセル内に全角数字を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データが入力されている隣のセ...
-
エクセルテキストボックスの文...
-
エクセルVBA(実行時エラー438...
-
EXCELマクロ 保護されているシ...
-
VBA セルに合わせて移動するが...
-
VBAで、貼り付け禁止命令を実現...
-
Windowsで動くVBAがmacOSで動か...
-
メッセージを1度だけ表示したい。
-
VBAのListBoxで複数選択して...
-
ハイパーリンクされているファ...
-
エクセルのVBAでダブルクリック...
-
VBAで丸をつけたいです。
-
GrapeCityのSpreadの複数セルの...
-
Jtableの特定のセルの背景色や...
-
セル色を5秒間隔で変える
-
ダブルクリックすると現在の時...
-
【VBA】InputBoxで文字をセルに...
-
Excelのセル内にある図形を削除...
-
Excel VBA セルを指定個数ラン...
-
Excel VBA ダブルクリックで入...
おすすめ情報