[[20230425133434]] 『名前に日付の入ったブックの参照したいです』(momoka) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『名前に日付の入ったブックの参照したいです』(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


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.