Excel VBA 質問スレッド №1967 (未解決)

ファイル名の取得

投稿者 : ymicky     投稿日時 : 2024/07/14(Sun) 11:25:12     OS : Windows 10     EXCEL : Office 365
 
エラーとなるVBA
「 ActiveCell.FormulaR1C1 ="= Mid(CELL("filename"), Find("[", CELL("filename")) + 1, Find("]", CELL("filename")) - Find("[", CELL("filename")) - 6)"」

エラー表示
---------------------------
Microsoft Visual Basic for Applications
---------------------------
コンパイル エラー:

構文エラー
---------------------------
OK ヘルプ
---------------------------



セルに直接 「= Mid(CELL("filename"), Find("[", CELL("filename")) + 1, Find("]", CELL("filename")) - Find("[", CELL("filename")) - 6)」と書き込むと正常にファイル名が表示されます。

ご教示お願いします。

スポンサーリンク
[返信 1] Re : ファイル名の取得
投稿者 : モリス     投稿日時 : 2024/07/14(Sun) 11:37:05
>セルに直接 「= Mid(CELL("filename"), Find("[", CELL("filename")) + 1, Find("]", CELL("filename")) - Find("[", CELL("filename")) - 6)」と書き込む

これをマクロ記録してください
原因が解ります

[返信 2] Re : ファイル名の取得
投稿者 : モリス     投稿日時 : 2024/07/14(Sun) 14:31:23
ああ、

CELL("filename")
 ↓
CELL("filename",A1)
の方が良い

[返信 3] Re : ファイル名の取得
投稿者 : てらてら     投稿日時 : 2024/07/15(Mon) 06:22:02
こんにちは。

エスケープシーケンスじゃないですかね。
文字列内の"は、"" としなければなりません。


Sub macro()
    ActiveCell.FormulaR1C1 = "= MID(CELL(""filename""), FIND(""["", CELL(""filename"")) + 1, FIND(""]"", CELL(""filename"")) - FIND(""["", CELL(""filename"")) - 6)"
End Sub

以下に、シート内の数式を復活用に書き出してくれるコードがあります。
https://help-vba.com/reformulamakecode/

当掲示板について
  • Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
  • 記事内ではHTMLのタグは使用できません。
  • 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
  • Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
  • Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
お 名 前  :
内  容   :

ステータス  :

認証コード  : キャプチャ画像 




( 処理日時 : 2025-07-03 16:59:31 )
タイトルとURLをコピーしました