エクセル2003のマクロが2010で使えない
PC買い換えで、今まで使えていたマクロに下記のようなメッセージが表示されて
使えなくなりました。他人が作成したマクロでまた、私はVBAに詳しくありません。
!はこのマシンで利用できないため、オブジェクトをこのマシンで読み込めませんでした。
コンパイルエラー 変数が定義されていません。
以下記述の一部です。
Private Sub UserForm_Initialize() ←ここが黄色に
Dim c As Control, i As Integer, j As Integer
With data
i = 1
Do Until .Cells(i + 1, 1).Value = ""
i = i + 1
list01.AddItem .Cells(i, 2).Value
For j = 1 To 6
list01.List(i - 2, j) = .Cells(i, j + 2).Value
Next j
list01.List(i - 2, 7) = .Cells(i, 1).Value
Loop
i = 1
Do Until .Cells(i + 1, 29).Value = ""
i = i + 1
comb02.AddItem .Cells(i, 29).Value
comb02.List(i - 2, 1) = .Cells(i, 30).Value
comb02.List(i - 2, 2) = .Cells(i, 31).Value
comb02.List(i - 2, 3) = .Cells(i, 32).Value
comb02.List(i - 2, 4) = .Cells(i, 33).Value
comb02.List(i - 2, 5) = Mid(.Cells(i, 29).Value, Len(.Cells(i, 29).Value) - 4, 2)
comb02.List(i - 2, 6) = Right(.Cells(i, 29).Value, 2)
Loop
i = 1
Do Until .Cells(i + 1, 37).Value = ""
i = i + 1
comb01.AddItem .Cells(i, 37).Value
Loop
cal01.Value = .Cells(2, 23).Value ← cal01が青く
ymdStart = .Cells(2, 26).Value
ymdEnd = .Cells(3, 26).Value
Controls("opt0" & .Cells(3, 23)).Value = True
chk01.Value = .Cells(4, 23).Value
For Each c In Controls
If Left(c.Name, 4) = "list" Or Left(c.Name, 4) = "text" Or Left(c.Name, 4) = "comb" Then
c.ForeColor = .Cells(13, 25).Value
c.BackColor = .Cells(16, 25).Value
End If
Next c
End With
With list01
If .ListCount = 0 Then
If MsgBox("職員が登録されていません。", 48, ThisWorkbook.Name) = 1 Then
End If
Else
ReDim GroupTable(.ListCount - 1, 1)
i = 0
For j = 0 To .ListCount - 1
If .List(i, 0) <> .List(j, 0) Then
i = j
End If
GroupTable(j, 0) = i
Next j
i = .ListCount - 1
For j = .ListCount - 1 To 0 Step -1
If .List(i, 0) <> .List(j, 0) Then
i = j
End If
GroupTable(j, 1) = i
Next j
End If
End With
but07.ControlTipText = ThisWorkbook.Name & "の上書き保存"
MsgMode = True
Call cal01_Click
Call opt04to05_Change
End Sub
どうしていいかわかりませんので、よろしくお願いします。
Windows7 Professional SP1 64
お礼
回答ありがとうございます。 このプログラムは多数の人が使うので外部コントロールのような 別途ダウンロードが必要な方法をとることは難しいです。 EXCELの標準機能で解決する方法はないでしょうか。