0

すべて。ワークシートに、 periodNo(A)およびperiodName(B)というlookupMiscというテーブルがあり、次の値があります。

A   B
1   09:00
2   10:00
3   11:00
4   12:00
5   13:00
6   14:00
7   15:00
8   16:00
9   17:00

このためのコードは次のとおりです。

   For i = 1 To ws_misc.Range("periodNo").Rows.Count
        CombinedName = periodNo(i, 1) & " - " & periodName(i, 1)
        cbo_period.AddItem CombinedName
    Next i

そしてthsiは以下を生成します:

ここに画像の説明を入力してください

これで、右側に長さtxt_length)テキストフィールドがあることに気付くでしょう。基本的に、私はその期間のエントリに基づいて動的検証の形式を作成しようとしています。ケースは次のとおりです。

If user selects  Then
1 - 09:00        Length can only accept values from 1-9
2 - 10:00        Length can only accept values from 1-8
3 - 11:00        Length can only accept values from 1-7
4 - 12:00        Length can only accept values from 1-6
5 - 13:00        Length can only accept values from 1-5
6 - 14:00        Length can only accept values from 1-4
7 - 15:00        Length can only accept values from 1-3
8 - 16:00        Length can only accept values from 1-2
9 - 17:00        Length can only accept values from 1-1

これを達成するにはどうすればよいですか?

4

2 に答える 2

1

Try something like:

if me.txt_length.value<1 or me.txt_length.value>10-clng(left(me.cbo_period.value,1)) then
    msgbox "Entry must be between 1 and " & 10-clng(left(me.cbo_period.value,1))
end if
于 2012-10-25T20:47:34.317 に答える
1

You can just put data validation in the length cell that is based on the value that is selected in the drop down:

DataValidationExample1

DataValidationExample2

Good Luck.

于 2012-10-25T21:19:22.603 に答える