|
こんばんは。
ユーザーフォームにコンボボックスとリストボックスを置き、コンボボックスに「データベース」というシートの列を表示させています。
ここで、私のパソコン(WindowsXp/office2003)では動くのですが、他のパソコン(Windows98/office97)では「ActiveX コンポーネントを作成できません。」とエラーになってしまします。
これを回避する為にはどうすればよいでしょうか?
よろしくご教示願います。
↓ソース↓
Option Explicit
Private rngList As Range
Private lngRows As Long
'************************
'画面起動時
'************************
Private Sub UserForm_Initialize()
Dim dic As Object
Dim i As Long
Dim mykey As String
Set dic = CreateObject("Scripting.Dictionary")
With Sheets("データベース")
For i = 3 To .Cells(.Rows.Count, 1).End(xlUp).row
mykey = .Cells(i, 5).Value
If Not dic.Exists(mykey) Then dic.Add mykey, mykey
Next
End With
UserForm1.ComboBox1.List = dic.Keys
Set dic = Nothing
Set rngList = Sheets("データベース").Cells(1, "E")
With rngList
'List行数を取得
lngRows = .Offset(Rows.Count - .row).End(xlUp).row - .row + 1
End With
End Sub
|
|