|
>12月21日には、「明細表17−01月分」のフォルダーに「明細表01-21」
>のファイルに仕上げたいのですが、ファイルがフォルダーの中に入らず、
>エラーになります。
>コードの問題点をご指摘のほどお願いします。
>(今年の12月20日までは問題なくファイルの保存が出来ましたが、
>今日12月21日にはエラーになりました、ご教授の程お願いいたします)
このコードでは、12月21日には、「明細表01-21」では無く、「明細表12-21」のファイルが、
「明細表17−01月分」では無く、「明細表17-1月分」のフォルダに格納される様に成っていますが?
以下のコードを実行して見て下さい、
ActiveSheetに、2004年1月から翌年1月までの20日、21日のファイル名が出力されます
Public Sub Test()
Dim i As Long
Dim j As Long
Dim strFileName As String
Dim dtmDate As Date
Dim lngRow As Long
lngRow = 1
For i = 1 To 13
For j = 20 To 21
dtmDate = DateSerial(2004, i, j)
If Format(dtmDate, "d") > 20 Then
strFileName = "U:\フォルダーA\明細表" _
& Format(dtmDate, "yy") + 12 & "-" _
& Format(dtmDate, "m") + 1 _
& "月分\明細表" _
& Format(dtmDate, "mm" & "-" & "dd")
If Format(dtmDate, "m") = 12 Then
strFileName = "U:\フォルダーA\明細表" _
& Format(dtmDate, "yy") + 13 & "-" _
& Format(dtmDate, "m") - 11 _
& "月分\明細表" _
& Format(dtmDate, "mm" & "-" & "dd")
End If
Else
strFileName = "U:\フォルダーA\明細表" _
& Format(dtmDate, "yy") + 12 & "-" _
& Format(dtmDate, "m") _
& "月分\明細表" _
& Format(dtmDate, "mm" & "-" & "dd")
End If
With ActiveSheet
.Cells(lngRow, "A").Value = dtmDate
.Cells(lngRow, "B").Value = strFileName
End With
lngRow = lngRow + 1
Next j
lngRow = lngRow + 1
Next i
End Sub
|
|