プロが教えるわが家の防犯対策術!

マクロでボタンを押したら、一覧表の日付のセルと時間のセルをくっつけてフォルダを作成したいと思っていました。

が、実際にやってみると数字の羅列でのフォルダは作成されませんでした。
フォルダ名は文字列でないと無理なのでしょうか。

シート1は、日付の「17」の名前になっており、
B1に日付「2019年3月17日」がCTRL+;で入力されています。
A2から下に件数を示す、1~30の数字が入っています。
B2から下に時間、例えば「16:35」がCTRL+:で入力されています。
C2~C6から下には、件数(明細)が入っています。

シート2以降も繰り返しです。

C2~C6から下の明細をファイルで保管したいので、
日付+時間でフォルダを作成したいと考えていましたが、どうやら出来ないようなので困っています。
出来ないのであれば、他に日付と時間毎にフォルダを作成する良い方法はないものでしょうか。

A 回答 (2件)

こんにちは



どのように試して、どうできなかったのかがわからないので、一般論しか書けませんが。

>実際にやってみると数字の羅列でのフォルダは作成されませんでした。
>フォルダ名は文字列でないと無理なのでしょうか。
文章がよくわからないけれど、
『フォルダは作成されるが、数字の羅列の名で、意図と違う』
という意味なら、既にNo1様がお答えの通りと思います。
作成する際のフォルダ名が、意図したものになっていないだけと考えられます。
なお、フォルダ名には(時刻表示等の)「:」は用いることができないということもお忘れなく。

『フォルダがまったく作成されない』
という意味であれば、作成なさったマクロが意図通りの処理を行っていないと考えられます。
エラーが出て停止しているか、エラーが出ていなくとも、意図とは関係のない理を行って終了していることなどが想像できます。

>他に日付と時間毎にフォルダを作成する良い方法はないものでしょうか。
普通にフォルダを作成するのが宜しいかと。
具体的には、MkDirで作成するか、FileSystemObject経由でCreateFolderによる方法などが考えられると思います。
https://docs.microsoft.com/ja-jp/office/vba/lang …
https://docs.microsoft.com/en-us/office/vba/lang …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
フォルダは全く作成されませんでした。

別ファイルのエクセルで指定したセルのフォルダを作成して開くことをしていたので、
ファイル名が被らない日時で新規フォルダを作成したかったのですが、
今回は質問の内容が伝わり辛かったので改めて質問を投稿することにします。

お礼日時:2019/03/19 23:15

日付や時間が入ってるセルの値をそのまま使うと、結果はシリアル値になっちゃいますよ。

これは時間は24時間=1(12時間=0.5)、年月日は1900年1月1日からから数えた日数です。

Excelがそのシリアル値を表示形式にしたがって変換して表示してくれてるから、普段はシリアル値を生で見ることは少ないですが、マクロでは人間が変換してあげないとだめです。

そのためにあるのがFORMAT関数で、使い方は以下です。

https://www.atmarkit.co.jp/ait/articles/1504/30/ …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
そうだったんですね~。

今回は質問の内容が伝わり辛かったので改めて質問を投稿することにします。

お礼日時:2019/03/19 23:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!