|
▼アルジ さん:
>お世話になります。アルジです。
>エクセル2000でユーザーフォーム上の話です。
>d1のテキストボックスに”特休”と入力すると
>h1が-1されるプログラムなんですが
>”特休”と書かれた後に特休以外の文字にしたら
>h1のデータを元の値に戻したいのですが、
>どうしたらいいでしょうか。
>下記のプログラムではうまくいきません
>ちなみにd1〜d31、h1〜h31(31日分)ありあまり
>変数を増やしたくないと思ってます。
>
>Dim hozon as Long
>
>Private Sub d1_Change()
>
>Dim row As Long
> If d1.Value = "特休" Then
> If h1 <> "" Then
> hozon = h1
> h1 = h1 - 1
> End If
> Else
> h1 = hozon
> End If
> row = 1
> While row < 31
> row = row + 1
> If Me.Controls("h" & row) <> "" Then
> Me.Controls("h" & row) = h1
> End If
> Wend
>End sub
どううまくいかないのか? を書かないと
アドバイスは難しいです。
パッと見で・・・
>If Me.Controls("h" & row) <> "" Then
>Me.Controls("h" & row) = h1
このあたりのプロパティを指定してない とかですかね?
もしくは・・・
Dim hozon as Long
の変数を使いまわしていることで、
他のイベントで発生した値が入っているとか。
あとは・・・
row という変数名は辞めたほうが良いです。
|
|