指定のファイルをフォルダAからフォルダBへ移動させるというvbaを
見つけたのですが、
サンプルの表記は「"C:\Data\A"」と直接場所をしていしたものなので、
参照するフォルダ場所として、セルC1を参照させようと、
「Range("C1")」と書き直したところ、
「コンパイルエラー:定数式が必要です」とエラーになってしまいます。
どの様に書き直せばよいのでしょうか?
どなたかご存じでしたら、ぜひお教え下さい。
よろしくお願いします。
エクセル2010を使用しています。
Sub CheckAndMoveFiles()
Const FolderA = Range("C1") 'エラー発生
'Const FolderA = "C:\Data\A" サンプルの表記
Const FolderB = "C:\Data\B"
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim ws As Worksheet
Set ws = ActiveSheet
Dim lastRow As Long
lastRow = ws.Range("A" & Rows.Count).End(xlUp).Row
Dim r As Long
Dim fileName As String
For r = 1 To lastRow
If ws.Cells(r, "A").Value <> "" Then
' fileName = ws.Cells(r, "A").Value & ".xls"
fileName = ws.Cells(r, "A").Value
If fso.FileExists(FolderA & "\" & fileName) = True Then
fso.moveFile FolderA & "\" & fileName, FolderB & "\" & fileName
End If
End If
Next
End Sub
No.1ベストアンサー
- 回答日時:
こんにちは。
Const FolderA = Range("C1") のConstは「リテラル値の代わりに使う定数を宣言」するステートメントです。
定数を宣言するのだから、可変になるような記述は出来ないのでエラーになるのです。
セルに入っている値を使いたいのであれば
Dim FolderA As String
FolderA = Range("C1").Value
のようにするといいでしょう。
M-SOFT さま
できました!
大変わかりやすい説明も付けていただいて、理解もできてたすかりました。
ありがとうございますm(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 請求書自動作成 3 2022/04/24 01:58
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー 438になった時の...
-
エクセルエラー13型が一致しま...
-
VBSで変数の宣言はできないので...
-
IEのダウンロード通知バーのVBA...
-
実行時エラー3001「引数が間違...
-
一般ODBCエラーについて
-
【Excel VBA】マクロをボタンに...
-
ADODB.Streamを使用してUTF-8を...
-
実行時エラー -'-2147417848
-
プロシージャ名の取得
-
EXCEL/VBAで、自分のPCだけエラ...
-
VBS実行時エラー オブジェクト...
-
VBAがブレークモードになっ...
-
ExcelVBAでのエラー回避
-
ExcelVBAで、ユーザー定義型は...
-
VBAのコードがエラーになっ...
-
デバッグ時はOK、デバッグ無し...
-
アクセス 実行時エラー3265
-
なぜエラーになるのでしょうか...
-
VBAのエラー発生場所をメッセー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
エクセルエラー13型が一致しま...
-
【Excel VBA】マクロをボタンに...
-
なぜこんな初歩的なVBAのIf文で...
-
VBAでのエラー
-
マクロについて教えてください...
-
ExcelVBA Range クラスの Page...
-
実行時エラー3001「引数が間違...
-
VBS実行時エラー オブジェクト...
-
VBAがブレークモードになっ...
-
OLEDB.NETで接続できない
-
プロシージャ名の取得
-
EXCEL VBAマクロ中断でデバッグ...
-
VBSで変数の宣言はできないので...
-
ADODB.Streamを使用してUTF-8を...
-
実行時エラー -'-2147417848
-
AccessVBAでExcelを起動し、罫...
-
VB6+SQL サーバー 2000 で 実行...
-
Outlook.ApplicationをCreateOb...
-
Application.ActiveInspectorで...
おすすめ情報