Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


38758 / 76738 ←次へ | 前へ→

【43113】Re:1と入力でひとつき前の1日と表示
回答  りん@通りすがり  - 06/10/2(月) 16:15 -

引用なし
パスワード
   kazu さん、こんにちわ。

>現在の日付は2006年10月の時
>セルC7に29と入力するとひとつき前の9月29日とセルC7に表示するには。
>(2007年1月の時、1と入力の時は2006年12月1日
>    ただし、10/7(月日)を入力の時はそのままその年の10月7日と表示)
>
>例、2006年4月の時・10→3月10日、23→3月23日、2/3→2月3日
>  2007年1月の時・5→2006年12月5日、18→2006年12月18日、5/3→5月3日

WorksheetのChangeイベントに以下を記述
Private Sub Worksheet_Change(ByVal Target As Range)
  With Target
    If .Count = 1 Then
      Application.EnableEvents = False
      Select Case .Value2
        Case 1 To 31
          .Value = DateSerial(Year(Date), Month(Date) - 1, .Value2)
        Case Else
      End Select
      Application.EnableEvents = True
    End If
  End With
End Sub

こんな感じです。
0 hits

【43109】1と入力でひとつき前の1日と表示 kazu 06/10/2(月) 14:39 質問
【43113】Re:1と入力でひとつき前の1日と表示 りん@通りすがり 06/10/2(月) 16:15 回答
【43114】Re:1と入力でひとつき前の1日と表示 kazu 06/10/2(月) 17:09 発言
【43117】Re:1と入力でひとつき前の1日と表示 りん 06/10/2(月) 19:29 回答
【43125】Re:1と入力でひとつき前の1日と表示 kazu 06/10/3(火) 0:24 お礼

38758 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free