|
▼レッズ命 さん:
>▼Hirofumi さん:
>▼U03 さん:
>
>いろいろ考えていたら、この方法じゃできないことに気付きました。
>Rangeでやることにしました。
そうですか?
セルの値が "/1" とか "/25" とかあって、それをある日付データに置換したいなら、
そのReplaceメソッドの引数 LookAtに「完全一致」を指定すればそのままのコード
で、いけるんじゃないですか?
Sheets("★月分").Copy After:=Sheets("★月分")
ActiveSheet.Name = 月 & "月分"
With Range("A2", Cells(1, 1).End(xlDown))
If 月 = 1 Then
For Each セル In .Cells
セル.Replace "/25", 年 - 1 & "/12/25", LookAt:=xlWhole
セル.Replace "/27", =年 - 1 & "/12/27", LookAt:=xlWhole
セル.Replace "/31", 年 - 1 & "/12/31", LookAt:=xlWhole
セル.Replace "/1", 年 & "/1/1", LookAt:=xlWhole
セル.Replace "/5", 年 & "/1/5", LookAt:=xlWhole
セル.Replace "/6", 年 & "/1/6", LookAt:=xlWhole
セル.Replace "/8", 年 & "/1/8", LookAt:=xlWhole
セル.Replace "/20", 年 & "/1/20", LookAt:=xlWhole
セル.Replace "/21", 年 & "/1/21", LookAt:=xlWhole
セル.Replace "/24", 年 & "/1/24", LookAt:=xlWhole
Next セル
Else
For Each セル In .Cells
セル.Replace What:="/25", Replacement:=年 & "/" & 月 - 1 & "/25", LookAt:=xlWhole
セル.Replace What:="/27", Replacement:=年 & "/" & 月 - 1 & "/27", LookAt:=xlWhole
セル.Replace What:="/31", Replacement:=月末日, LookAt:=xlWhole
セル.Replace What:="/1", Replacement:=年 & "/" & 月 & "/1", LookAt:=xlWhole
セル.Replace What:="/5", Replacement:=年 & "/" & 月 & "/5", LookAt:=xlWhole
セル.Replace What:="/6", Replacement:=年 & "/" & 月 & "/6", LookAt:=xlWhole
セル.Replace What:="/8", Replacement:=年 & "/" & 月 & "/8", LookAt:=xlWhole
セル.Replace What:="/20", Replacement:=年 & "/" & 月 & "/20", LookAt:=xlWhole
セル.Replace What:="/21", Replacement:=年 & "/" & 月 & "/21", LookAt:=xlWhole
セル.Replace What:="/24", Replacement:=年 & "/" & 月 & "/24", LookAt:=xlWhole
Next セル
End If
End With
|
|