『名前に日付の入ったブックの参照したいです』(momoka) 日付入りのエクセルファイルをマクロで開こうとしています。 そのなかで、ブックの名前に日付が入っている時どうやって参照していますか? 色々教えてもらって下記の内容までは出来ました… Dim SetFile As String Dim wbMoto As Workbook Dim wbSaki As Workbook Set wbMoto = ActiveWorkbook SetFile = "C:\デスクトップ\データ-20230424.xlsx" Workbooks.Open Filename:=SetFile, ReadOnly:=True, UpdateLinks:=0 Set wbSaki = Workbooks.Open(SetFile) どこに日付の関数を付ければ良いのかわかりません。 あと日付が現在のものだけじゃなく過去のものだったりもします。 例として…  日付:2023/4/25  ファイル名:データ-20230420  という感じです。 私としては出来れば日付ではなく、数値として認識する方法だったり、日付の部分だけ参照時に無視する方法等あれば教えて頂きたいです。 どなたか、どうか教えて頂けませんでしょうか。 < 使用 Excel:Excel2019、使用 OS:Windows11 > ---- >ブックの名前に日付が入っている時どうやって参照していますか? どうもこうも、ファイル名がそうなっているんだったら、それを指定するしかないでしょ。 意味が分からん。 (名無し) 2023/04/25(火) 14:19:11 ---- (名無し)さん  マクロで開きたいブック名が、「"データ名"-"日付"」になっています。 データ名だけでは開きたいファイルがマクロでは開く事が出来ないので、日付も参照する関数を知りたかったのです。 その日付も今現在のものだけではなくて、過去のものだったりも開く機会があるため、 もしできれば日付としてではなく、数値として参照する方法だったり、日付の部分だけ参照時に無視できる関数などあれば知りたいのです。 可能でしょうか… (momoka) 2023/04/25(火) 15:37:51 ---- やっぱり意味わからん。降参。 (名無し) 2023/04/25(火) 15:44:07 ---- エクセルで俗に言う日付とは、これです。 https://www.excel.studio-kazu.jp/tips/0049/ (M) 2023/04/25(火) 15:47:46 ---- 対象フォルダ内には データ-日付.xlsx というファイルは一つしかなく、それを日付部分が何であれ開きたいということだろうか? (ねむねむ) 2023/04/25(火) 15:48:43 ---- やりたいことが分からないので、フローにしてもらえますか? 例えばこんな感じで、A、B列にデータがあるなら、 C2=A2&TEXT(B2,"-yyyymmdd") として、マクロからはC2を参照してあげれば、日付部分も8桁日付の文字列として取得できます。 マクロでやるなら Debug.Print [A2].Value & Format([B2].Vlaue,"-yyyymmdd") これでできるんじゃないでしょうか。 |[A] |[B] |[C] [1]|データ名|日付 |ファイル名 [2]|依頼書 |2023/4/25|依頼書-20230425 (稲葉) 2023/04/25(火) 15:55:08 ---- 返信遅くなりすみませんでした。 (名無し)さん わかりにくい説明大変申し訳ございません。 (稲葉)さん すみません、私の説明がわかりにくくすみません。 (ねむねむ)さんのおっしゃっていることで間違いございません。 色々調べていたのですが、知恵袋で一番近いものがありました。 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12115065272 やりたいことはこれと同じなのですが、下記の関数の場合、今現在のyyyymmddしか出せないみたいなんですよね 下記が知恵袋のベストアンサーさんから参照したものです。 SetFile = "C:\TEST\テストデータ" & Format(NOW,"YYMMDD") & ".xlsx" これの、Format(NOW,"yyyymmdd")の部分を、過去のyyyymmddである場合でも参照したいのです。 可能でしょうか。 度々の質問失礼致します。 (momoka) 2023/04/27(木) 13:38:17 ---- SetFile = "C:\デスクトップ\データ-20230424.xlsx" を SetFile = Dir("C:\デスクトップ\" & "データ名*.xlsx") にしたらどうなりますか?(「データ名」の部分は適当に変えてね) (名無し) 2023/04/27(木) 14:27:15 ---- >過去のyyyymmddである場合でも参照したいのです。 過去のファイルはどうやって見つけるのですか。 マクロに頼らず直接開けば済む話でしょ。 (MM) 2023/04/27(木) 17:05:57 ---- (名無し)さん  実行時エラー1004と出て、同じ名前のフォルダがありませんとなりました。 やはり厳しいですかね。 (momoka) 2023/04/27(木) 18:32:05 ---- >実行時エラー1004と出て、同じ名前のフォルダがありませんとなりました。 そのコードと発生箇所を提示してみてはどうでしょうか? (もこな2) 2023/04/27(木) 18:36:03 ---- >(ねむねむ) 2023/04/25(火) 15:48:43 に下記の返信なら (ねむねむ)さんのおっしゃっていることで間違いございません。 一つしかにゃいなら >マクロに頼らず直接開けば済む話でしょ。(MM) 2023/04/27(木) 17:05:57 となるが〜ね。 >ブックの名前に日付が入っている時どうやって参照していますか? マクロで開くも、関数でするもいっぱいあるですよ 目的がわからんので、どうやってもマクロで開きたいのか? 関数でもよいのかによりますが >関数などあれば知りたいのです。 フォルダーが山ほどあって、目的のファイルを すぐに開きたいならフルパスをセルに張り付けて ハイパーリンク関数でクリック一発よびだしゃ〜んよ あるよ〜ん...一例ですん https://office-hack.com/excel/function-hyperlink/ リスト化するとどれでもすぐにファイルを開けるから 便利だよねん。 |[A] |[B] |[C] |[D] [1]|フルパス |フォルダ |ファイル名 |参照リンク [2]|C:\デスクトップ\データ-20230424.xlsx|C:\●●(△△)|●●.xlsx    |Excel [3]|C:\デスクトップ\データ-20210425.xlsx|C:\●●(△△)|●●.xlsx |Excel D2の式=HYPERLINK(A2,"Excel") 下にコピーすると呼び出し準備完了でございますよ。 検索で フルパス一括取得 VBA とか、もしくは フォルダ内のファイル名を一括書き出しVBA とか検索すると、山ほど参考マクロがでてくるのでありんすよ。 関数でも...ファイルパスを取得することができますよ、 CELL関数、FIND関数、LEFT関数 などなど 一例 VBAを使わずに、フルパスからファイル名のみ・パスのみを取得する https://qiita.com/nomico/items/be7d3150cc4cfa5c297e ファイルの保存場所やフォルダパスを取得表示する関数と数式 https://qwerty.work/blog/2021/01/excel-function-path.php とにかく、目的を明確にして欲しいにゃんよ。 ・呼び出して開いたファイルを別ファイル30枚にデータをコピーしたい  ←これならマクロだし ・簡単に開いて、見つけれるようにしたいなら  ←これなら関数で十分だし よ〜わかんですので、頑張ってくださいませ。 (あみな) 2023/04/27(木) 18:55:17