|
▼Hirofumi さん:
▼U03 さん:
たいへん失礼しました。
元となるシートを毎月コピーして、使っていきたいのですが、
元のシートに/25とか/27というのがセルに入力してあるので、
それをその月分の2012/1/25とか2012/1/27とかに変換したいのです。
これでわかりますか?
ちなみに、/25とかがあるセルは固定しているので、
難しいようなら、Range("A1").value=年 - 1 & "/12/25"に
しようかとも思っていますが。
>Private Sub Cmd作成_Click()
>
>Dim 年 As Integer
>Dim 月 As Integer
>Dim 月末日 As Date
>Dim セル As Range
>Dim cell As Range
>
年 = Txt年.Value ←ここの部分は、ユーザーフォームで
月 = Txt月.Value 何月分を作るかを質問させています。
月末日 = Txt月末日.Value 基本的には、現在の翌月分を作るように
設定しています。
>Sheets("★月分").Copy After:=Sheets("★月分")
>ActiveSheet.Name = 月 & "月分"
>
>If 月 = 1 Then
> For Each セル In Selection
> セル.Replace What:="/25", Replacement:=年 - 1 & "/12/25"
> セル.Replace What:="/27", Replacement:=年 - 1 & "/12/27"
> セル.Replace What:="/31", Replacement:=年 - 1 & "/12/31"
> セル.Replace What:="/1", Replacement:=年 & "/1/1"
> セル.Replace What:="/5", Replacement:=年 & "/1/5"
> セル.Replace What:="/6", Replacement:=年 & "/1/6"
> セル.Replace What:="/8", Replacement:=年 & "/1/8"
> セル.Replace What:="/20", Replacement:=年 & "/1/20"
> セル.Replace What:="/21", Replacement:=年 & "/1/21"
> セル.Replace What:="/24", Replacement:=年 & "/1/24"
> Next セル
>Else
> For Each セル In Selection
> セル.Replace What:="/25", Replacement:=年 & "/" & 月 - 1 & "/25"
> セル.Replace What:="/27", Replacement:=年 & "/" & 月 - 1 & "/27"
> セル.Replace What:="/31", Replacement:=月末日
> セル.Replace What:="/1", Replacement:=年 & "/" & 月 & "/1"
> セル.Replace What:="/5", Replacement:=年 & "/" & 月 & "/5"
> セル.Replace What:="/6", Replacement:=年 & "/" & 月 & "/6"
> セル.Replace What:="/8", Replacement:=年 & "/" & 月 & "/8"
> セル.Replace What:="/20", Replacement:=年 & "/" & 月 & "/20"
> セル.Replace What:="/21", Replacement:=年 & "/" & 月 & "/21"
> セル.Replace What:="/24", Replacement:=年 & "/" & 月 & "/24"
> Next セル
>End If
>
>End Sub
>
>ちなみに、Txt年.ValueはYear(Date) + 1が入っています。
>
|
|