[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『フォームのリセット』(とっちゃん)
どの時点で「次の月」を判断するのかが不明ですが・・・。 フォームのチェックボックスを一括でオフにするのなら、
Worksheets("Sheet1").CheckBoxes.Value = xlOff
こんな感じで出来ます。 (MARBIN)
蛇足ながら、当月に存在しない日付のチェックボックスを非表示にする マクロを考えてみました。 A1からA31までチェックボックスがセルに収まるように設置されている との前提です。
Dim MyChk As Object Dim matu As Date matu = DateAdd("d", -1, DateSerial(Year(Date), Month(Date) + 1, 1)) For Each MyChk In ActiveSheet.CheckBoxes If MyChk.TopLeftCell.Row > Day(matu) Then MyChk.Visible = False Next (MARBIN)
>A1からA31までチェックボックスがセルに収まるように設置されている >との前提です。
A列限定ではありませんでした。 列はどの列でもかまわないですが、 行は1行目から31行目までです。 行がずれている場合は >MyChk.TopLeftCell.Row の部分を改造する必要があります。 (MARBIN)
ちょっと修正しました。 ない日付のチェックボックスを非表示にするだけでなく、 先月ない日付として非表示にして、今月は存在する日付の チェックボックスを再度表示するようにしました。
Dim MyChk As Object Dim matu As Date matu = DateAdd("d", -1, DateSerial(Year(Date), Month(Date) + 1, 1)) For Each MyChk In ActiveSheet.CheckBoxes If MyChk.TopLeftCell.Row > Day(matu) Then MyChk.Visible = False Else MyChk.Visible = True End If Next (MARBIN)
チェックボックスが配置されている行番号ではなく、チェックボックスの名前で 判定するサンプルです。
Dim MyChk As Object Dim matu As Date matu = DateAdd("d", -1, DateSerial(Year(Date), Month(Date) + 1, 1)) For Each MyChk In ActiveSheet.CheckBoxes If (Replace(MyChk.Name, "Check Box ", "")) * 1 > Day(matu) Then MyChk.Visible = False Else MyChk.Visible = True End If Next (MARBIN)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.