Excelマクロのメモ
「月/日」なデータをExcelシートに入力したら勝手に「今年/月/日」になって困ったことはありませんか。私はあります。
一つ2つなら手で治すんですが3000件位あるデータの中のあちこちにそういうのがあって一つ一つ潰してくのが嫌だったのでマクロ書いてました。
多分数年後にまた使うと思うので日記に残しておきます。
Option Explicit ' 選択範囲にある日付の年だけを指定した年に変更する Sub changeYear() Dim rw, cl, dt, cy, rng, dstr If TypeName(Selection) = "Range" Then Set rng = Selection cy = InputBox("変更したい年を指定してください", "年だけ変更", Year(Date)) If IsNumeric(cy) = False Then Exit Sub If CInt(cy) < 1900 Then Exit Sub For rw = 1 To rng.Rows.Count For cl = 1 To rng.Columns.Count dt = rng.Cells(rw, cl).Value If IsDate(dt) = True Then dstr = cy & "/" & Format(dt, "mm/dd") rng.Cells(rw, cl) = dstr 'Debug.Print dstr End If Next cl Next rw End If End Sub
前は結構普通の日記も書いてたのに最近なんかマクロの保管場所でしか使ってない気がする。