VBAを使って集計表作っているのですが、セルの値を使った保存を行おうと
何度も以下のようなコードを書いているのですがうまくいきません。
実行してみるとファイルがありませんと表示され、デバッグ箇所でSaveAs以降が黄色く表示されます。
写真のように、USBの中身が階層になっているとします。
集計表にはセルA1に2021(today関数で取得)とセルA2に12月(リストから選択)、
A3にスイカと入っています。
この時、2021年フォルダの12月フォルダに集計表をスイカと名前をつけて
保存するにはどうしたらいいでしょうか。初心者中の初心者で見苦しいですが
教えていただけると幸いです。
Sub namaehozon()
Dim wb As Workbook
Dim ws As Worksheet
Dim Path As String
Dim Year As String
Dim Month As String
Set wb = ThisWorkbook Set ws = ThisWorkbook.WorkSheet.("集計") Path = “K:¥野菜¥果物” Year = ws.Range(“A1”)&"年" Month = ws.Range(“A2”) Name = ws.Range(“A3") wb.SaveAs Filename:=Path & Year & Month “¥” Name .xlsm
End Sub
「うまくいきません」とは具体的にはどうなったのでしょうか?
Filename の指定が変です
文字列型変数と文字列を連結するときも & です。たとえば Month & "\"
それから、最後の .xlsm は文字列なので ".xlsm" です。
最後に、これらを連結したものを一旦、別の変数に入れて、その変数を見て、
思い通りになっていますか?
たいぶ \ が抜けちゃってると思います。
コードにミスがあって実行不可となるという意味です。デバッグがたくさんあるのはわかっているのですが何からおかしいのかさっぱりわからなくなってしまいました。具体性がなく申し訳ないです。
> コードにミスがあって実行不可となるという意味です。
エラーが出ているのであれば詳細を質問に追記ください。
追記してみました。不足があるようでしたらさらに追記させていただきます。
>たいぶ \ が抜けちゃってると思います。
色々とサイトを見たのですが¥と/は表記の違いなだけで同じ意味なのでしょうか?
パスのエラーが出るときは、エクスプローラーで目的のフォルダを表示してそのパスとコード内の文字列に差異がないか確認すると良いですよ。
確かに差異を確認するべきでした。もう少し/の勉強もしてトライしてみます。アドバイスありがとうございます。