こんにちは、私は、ユーザーが(現在の月が表示され、デフォルトでは)日付を選択できるカレンダーですフォームを設定しようとしていますは、文字列
を使用してVBAのフォームオブジェクトを設定します。このフォームは、42のコマンドボタン(私はデフォルトの名前、つまりCommandButton1を残しています)を設定しています。これは、日番号を設定しています。
現時点では、私は各ボタン(私はそれをすべて入力するのではなく、これを生成するためにExcelを使用しました)のコードを長時間巻いていますが、それは問題の月の外にある場合にボタンをロックし隠しますこのように:ややコードアップをneatens ..which
Dim objCommandButton As Object
Set objCommandButton = NewDate.CommandButton1
:
NewDate.CommandButton1.Caption = Format(DATlngFirstMonth - DATintDayNumFirst + DATintX, "dd")
If DATintX < DATintDayNumFirst Then
With NewDate.CommandButton1
.Locked = True
.Visible = DATbooShowExtraDays
.ForeColor = RGB(150, 150, 150)
End With
Else
With NewDate.CommandButton1
.Locked = False
.Visible = True
.ForeColor = RGB(0, 0, 0)
End With
End If
私は私がして、コマンドボタンを参照することができることを知っています。しかし、私がやりたいことはコマンドボタンを文字列として参照するので、すべて42をループすることができます。
Dim n as integer
n = 1
Do Until n > 42
Set objCommandButton = NewDate.CommandButton & n
'Some operations
n = n + 1
Loop
多くのお手伝いがあります。
大変ありがとうございます。MarcinSzaleniec! –