投稿日 | : 2004/04/28(Wed) 10:19 |
投稿者 | : るしぇ |
Eメール | : |
URL | : |
タイトル | : Re: コンボボックスAddItem時に重複するデータを登録しない |
Data の中身が不明なので何がしたいのか全然分かりません。
…はぁ。…こんな感じなんでしょうかねぇ。やっぱり意味は分かりませんが。
質問のために"分かり易い""現象が再現できる""最小限"のコードを提供して下さい。
Option Explicit
Dim Data() As String
Private Sub Form_Load()
Dim i As Integer
ReDim Data(12, 3)
For i = 1 To 12
Data(i, 0) = i & "月"
Next
End Sub
Private Sub TxtA_KeyDown(KeyCode As Integer, Shift As Integer)
Dim a As Integer
Dim i As Integer
Dim MaxRec As Integer
'Enterのタイミングで実行
If KeyCode = vbKeyReturn Then
MaxRec = UBound(Data, 2)
For a = 0 To MaxRec
If Val(Data(1, a)) = Val(TxtA.Text) Then
With CmbTan
' ↓間違いコード。すいません。
' For i = 0 To .ListCount
' If .List(i) = CStr(Val(Data(12, a))) Then
' Exit For
' End If
' .AddItem (Val(Data(12, a)))
' Next i
' ↓修正後コード
Do While True
For i = 0 To .ListCount - 1
If .List(i) = CStr(Val(Data(12, a))) Then
Exit Do
End If
Next i
.AddItem (Val(Data(12, a)))
Exit Do
Loop
End With
End If
Next a
End If
End Sub