|
皆さま
こちらにはいつもお世話になっています。
みなさんの力を得て1年以上順調に動いていた帳票台帳管理プログラムが突然コンパイルエラーを多発するようになってしまいました。
下記のユーザーフォームに記述したコードでは、何故かMid関数のところを指して「コンパイルエラー プロジェクトまたはライブラリが見つかりません」というメッセージを出して実行中断してしまいます。
Private Sub TextBox1_AfterUpdate()
Dim MyD As String
MyD = TextBox1.Text
MyD = "20" & Left(MyD, 2) & "/" & Mid(MyD, 3, 2) & "/" & Right(MyD, 2)
If IsDate(MyD) = False Then
MsgBox "「起票日」の欄に" & Chr(13) & "入力されたデータは日付になりません。" & Chr(13) & "半角6桁 YYMMDD の表記でお願いします。"
TextBox1.SetFocus
End If
End Sub
また、この他にも以前こちらで教えて頂いてそのままワークシートに記述した下記のコードで終わりのほうに出てくるTrim関数のところで同じ症状が出て止まってしまうこともあります。
Private Sub Worksheet_Calculate()
If Not AutoFilterMode Then
Range("A11:IT11").ClearContents
Exit Sub
End If
Dim Rng As Range
Dim FRng As Range
Dim N As Integer
Dim Cri As String
Dim FltAry()
Application.EnableEvents = False
With ActiveSheet.AutoFilter
Set FRng = .Range.Resize(1)
If FRng.Row = 1 Then
MsgBox "条件を表示出来ません。フィルタ位置を下げてください。"
Set FRng = Nothing: Exit Sub
End If
With .Filters
ReDim FltAry(1 To .Count, 1 To 3)
For N = 1 To .Count
With .Item(N)
If .On Then
FltAry(N, 1) = .Criteria1
If .Operator Then
If .Operator = 1 Then
FltAry(N, 2) = " And "
ElseIf .Operator = 2 Then
FltAry(N, 2) = " Or "
End If
If FltAry(N, 2) <> "" Then
FltAry(N, 3) = .Criteria2
End If
End If
End If
End With
Next
End With
End With
FRng.Offset(-1).NumberFormatLocal = "@"
For Each Rng In FRng.Offset(-1)
Cri = FltAry(Rng.Column, 1) & _
FltAry(Rng.Column, 2) & _
FltAry(Rng.Column, 3)
If Trim(Cri) = "" Then
Rng.ClearContents
Else
Rng.Value = Cri
End If
Next Rng
Application.EnableEvents = True
Set FRng = Nothing
End Sub
バージョンの異なるエクセル(2000、2002と2003)で使ったりするとこのようなことが起きる可能性があるのでしょうか?
それともエクセルで特殊な設定でもあるのでしょうか?(マクロセキュリティーは全て「低」で動かしています。)
何卒ご教示のほどよろしくお願いします。
|
|