マクロ初心者です。
下記の動作を実現したいのですが、
「(下記★の)フォルダが見つかりません。移動や削除が行われた可能性があります。」とエラーが出ます。
初心者のためエラーの理由がわからず、そもそも記述が間違っているのかも不明な状況です。
知識をお持ちの方がいらっしゃれば、下記動きを実現するために、どこを修正する必要があるのか、
ご教示いただけますと幸いです。。。
実現したい動きとしては以下です。
・・・・・・・・・・・・・・・・・・・・・・・・・・・
ファイル名に「あいう」を含むファイルを開く
→F25:F42の値をコピー …①
ファイル名に「えお」を含むファイルを開く
→F25:F42の値をコピー …②
①と②を加算して、貼り付け先ファイルのF25:F42に貼り付け
→以上の動きをF列~AC列まで1列おきに行う。
※以上のすべてのファイルは同じフォルダ内に格納されています。
・・・・・・・・・・・・・・・・・・・・・・・・・・・
そして、書いてみたマクロは以下です。
Sub マクロ()
Dim i As Integer
For i = 5 To 28 Step 2
Dim xAdr As Range
Set xAdr = Range(Cells(25, i), Cells(42, i))
Dim ex As New Excel.Application
Dim wb As Workbook
Dim wbA As Workbook
Dim sPath
Dim sPathA
Dim r As Range
Dim sht As Worksheet
With Workbooks("貼り付け先ファイル.xlsm").Worksheets("指定sheet")
sPath = "C:\Users\指定フォルダ\*あいう*.xlsm" ★
Set wb = ex.Workbooks.Open(Filename:=sPath, UpdateLinks:=0, ReadOnly:=True, IgnoreReadOnlyRecommended:=True)
wb.Worksheets("指定シート").Range(xAdr).Copy
.Range(xAdr).PasteSpecial Paste:=xlPasteValues, Operation:=xlAdd
Call wb.Close
sPathA = "C:\Users\指定フォルダ\*えお*.xlsm"
Set wbA = ex.Workbooks.Open(Filename:=sPath, UpdateLinks:=0, ReadOnly:=True, IgnoreReadOnlyRecommended:=True)
wbA.Worksheets("指定シート").Range(xAdr).Copy
.Range(xAdr).PasteSpecial Paste:=xlPasteValues
Call wbA.Close
End With
End Sub
どうぞよろしくお願いいたします。。
No.1ベストアンサー
- 回答日時:
DIR関数かFileSystemObject を使って、
開くファイルのリストを作成してから
For文でWorkbooks.Openを繰り返すのがいいと思います。
ファイルの一覧を取得する
http://officetanaka.net/excel/vba/file/file07.htm
FileSystemObject について
https://www.tipsfound.com/vba/18010
開くファイルのリストを作るとき、
マッチングについては以下のサイトが参考になると思います
正規表現によるマッチング
http://officetanaka.net/excel/vba/tips/tips38.htm
VBAで正規表現を利用する(RegExp)
https://excel-ubara.com/excelvba4/EXCEL232.html
参照設定とCreateObjectの対応リスト
http://www.thom.jp/vbainfo/refsetting.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) エクセルVBA(実行時エラー438)の対処法を教えてもらえないでしょうか 3 2023/04/22 13:43
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
ワイルドカード「*」を使うとうまくいかないマクロの添削をお願いします
Visual Basic(VBA)
-
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
-
ExcelVBAでBookを開く時にファイル名の一部だけを指定で
Access(アクセス)
-
-
4
参照するファイルをワイルドカードで指定したい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vbaサブフォルダーをワイルドカ...
-
「エクセルファイルが開いてい...
-
【VBAマクロ初心者】Excel VBA...
-
Accessのウインドウサイズの固定
-
ExcelVBA 文字コード変換
-
VB.net XMLの作成方法 Iniの代替
-
Wordのプロパティ・総ページ数...
-
Long型で表現できないファイル...
-
「AccessViolationException」...
-
vbaに詳しい方教えてください!...
-
VBからExcelファイルを開くとき...
-
【ACCESS VBA】アクセスからデ...
-
FileDialog オブジェクトでファ...
-
遅延バインディングの回避方法
-
適当な英文の書かれたファイル(...
-
VBA ディレクトリ名をワイルド...
-
ファイル番号の取得について
-
動かなくなってしまった古いVBA...
-
コモンダイアログでフォルダを...
-
vbsでのアスタリスクとファイル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vbaサブフォルダーをワイルドカ...
-
FileDialog オブジェクトでファ...
-
サブフォルダ含むフォルダ内の...
-
ffftpでファイル取得が0バイト...
-
動かなくなってしまった古いVBA...
-
excel マクロ PDF化の際のエラ...
-
VBからExcelファイルを開くとき...
-
「エクセルファイルが開いてい...
-
VBAでフォルダ内のhtmlファイル...
-
複数のワークブックのVBAを変更...
-
ExcelVBA 文字コード変換
-
Wordのプロパティ・総ページ数...
-
「AccessViolationException」...
-
エクセルのVBAで開いている...
-
AccessからOLEオブジェクト型の...
-
VBAで色々な種類のファイルを開く
-
VBAでCSVファイルを読み込もう...
-
VB.net XMLの作成方法 Iniの代替
-
【ACCESS VBA】アクセスからデ...
-
VBA、ファイル名検索から開く、...
おすすめ情報