| 
    
     |  | こんばんは。 ユーザーフォームにコンボボックスとリストボックスを置き、コンボボックスに「データベース」というシートの列を表示させています。
 ここで、私のパソコン(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
 
 |  |