| 
    
     |  | 皆さま 
 こちらにはいつもお世話になっています。
 みなさんの力を得て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)で使ったりするとこのようなことが起きる可能性があるのでしょうか?
 それともエクセルで特殊な設定でもあるのでしょうか?(マクロセキュリティーは全て「低」で動かしています。)
 
 何卒ご教示のほどよろしくお願いします。
 
 
 |  |