Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(指定なし : Excel 2016)
新規フォルダを作成し名前を付けて保存
投稿日時: 18/11/25 00:11:57
投稿者: tonne7777

VBAマクロ初心者です。
本やネットを参考に作成してるのですがうまく行きません。
どこが悪いのか教えていただけませんでしょうか。
よろしくお願いします。
 
<作成しようとしているマクロ>
@Cドライブの「Order」というフォルダの中に今日の日付(yyyymmdd)のフォルダがない場合には今日の日付でフォルダを新規作成。
 
A新たにWorkbookを作成し、元のBookのSheet「Order1」を値貼り付け。Sheet名は「Order1」とする。
 
B新たに作成したAのBookを@の今日の日付のフォルダに「今日の日付+Order1」という名前で保存。
 
<自分で作成したマクロ>
Dim i As String
    Dim m As Workbook
    Set m = Workbooks.Add
   ThisWorkbook.Worksheets("order1").Copy before:=ActiveWorkbook.Sheets(1)
    i = "C:\Order\" & Format(Date, "yyyymmdd")
    If Dir(i, vbDirectory) = "" Then
        MkDir i
    End If
    With ActiveWorkbook
    .SaveAs i & "Order1.xlsx"
End With
    Application.DisplayAlerts = False
    Application.DisplayAlerts = True
End Sub

回答
投稿日時: 18/11/25 09:17:00
投稿者: WinArrow
投稿者のウェブサイトに移動

>うまく行きません
 
単に「うまい」「まずい」というのではなく
意図する結果と
実施した結果が異なる
のですから
その内容を説明しましょう。

回答
投稿日時: 18/11/25 09:20:30
投稿者: WinArrow
投稿者のウェブサイトに移動

それから
 
ステップ実行して、変数の「値」などを確認すれば、
どこが間違っているかわかると思います。

投稿日時: 18/11/25 18:42:44
投稿者: tonne7777

説明足らずですみません。
 
指定の場所にフォルダはできるのですが、そこに作ったフォルダ内ではなく指定の場所の直下(Cドライブの「Order」)にファイルが保存されてしまいます。 .SaveAs 以降に問題があると思うのですが、どうしてもわかりません。ご教授のほどよろしくお願いします。

回答
投稿日時: 18/11/25 19:42:06
投稿者: WinArrow
投稿者のウェブサイトに移動

保存時に問題があると思っているでしたら
ステップ実行してみて
>i & "Order1.xlsx"
 
この時、ファイルパスが、どのようになるのか?
確認すれば、問題は解決すると思います。
 
 

投稿日時: 18/11/25 20:23:32
投稿者: tonne7777

ご指摘の通り1行ずつステップ実行しチェックしたら解決しました。
ありがとうございました!