前提・実現したいこと
ファイル名を保存するのをセルに示されている日付にしたいです.
ActiveWorkbook.SaveAs "C:\Work\ " & Format(ws.Range("A4"), "yyyy\年mm\月dd\日") & ".xlsx"
の部分で下記のようなエラーが生じされます.
解決策をご教授頂きたいです.
発生している問題・エラーメッセージ
実行時エラー9 インデックスが有効範囲にありません vba
Sub データ整理()
Dim i As Long
i = 1
Do Until i > 3
Dim j As Long
j = 4 + (i - 1) * 144
Dim k As Long
k = 147 + (i - 1) * 144
'//1日ごとのデータコピー
ThisWorkbook.Activate
Range(Cells(1, 1).Address & ":" & Cells(3, 28).Address & "," & Cells(j, 1).Address & ":" & Cells(k, 28).Address).Select
Application.CutCopyMode = False
Selection.Copy
'//新しいブックを製作
Set wk = Workbooks.Add
Selection.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
'//日付と時刻の修正
Range("A4").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.NumberFormatLocal = "yyyy/m/d"
Range("B4").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.NumberFormatLocal = "h:mm;@"
Range("A4").Select
Application.CutCopyMode = False
'//名前を付けて保存
With CreateObject("Scripting.FileSystemObject")
If Not .FolderExists("C:\Work") Then .CreateFolder "C:\Work"
End With
Dim ws As Worksheet
Set ws = Sheets("Sheet1")
ActiveWorkbook.SaveAs "C:\Work\ " & Format(ws.Range("A4"), "yyyy\年mm\月dd\日") & ".xlsx"←ここでエラー
ActiveWorkbook.Close
i = i + 1 Loop
End Sub
ソースコード
試したこと
なぜか一度だけうまくいきました.けど2回目以降エラーが生じました.
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー