Excel VBAの『アプリケーション定義またはオブジェクト定義のエラー』 削除


Message#1 2015年2月10日(火)22時17分
From: EXCELVBA
Excel VBAに係る『アプリケーション定義またはオブジェクト定義のエラー』について。

数字を手入力するシート「入力シート 1」と、そこから「=」参照するシート「入力シート 2」があります。

双方とも1〜9行目とA列にタイトルが入っていますので、B10セル以降に入力した数字が入っています。

入力内容のエラーチェックをかけて、OKなら、「入力シート 2」から更に「=」参照した、「REA11」シートのB2セル以降をCSVに出力することを想定しています。
以下のとおり記述したのですが、『アプリケーション定義またはオブジェクト定義のエラー』が出てしまいます。初心者なので初歩的なミスかと思いますが、ご指導の程よろしくお願いします。

Public I As Integer
Public J As Integer
Public ERR_fLG As Boolean

Public K As Integer
Public lastCol As Integer, col As Integer
Public fileNumber As Integer, csvFile As Variant

Sub MACRO1()
'
' Macro1 Macro
'
On Error GoTo ERR_TRP

ERR_fLG = False

I = 10

'ここから行単位でのチェック事項
'エラーがあったら、ERR_fLG = Trueをセット
'「入力シート 1」のC列は入力必須項目
Do While Worksheets("入力シート 1").Cells(I, 3).Value <> ""

'「入力シート 2」のH・J・L・N・O列は共通するエラーチェック「Err_07」をかける
J = 8
Call Err_07(I)
J = 10
Call Err_07(I)
J = 12
Call Err_07(I)
J = 14
Call Err_07(I)
J = 16
Call Err_07(I)

I = I + 1

Loop

If ERR_fLG = False Then

Call REA_RVA_csv

Else
MsgBox "Error", vbOKOnly + vbExclamation

End If

Exit Sub

ERR_TRP:
MsgBox Error(Err), vbCritical + vbOKOnly

End Sub

-----------------------------------------------------------------
Private Sub Err_07(ByVal I As Long)

I = 10

If (Worksheets("入力シート 2").Cells(I, J).Value) <> "" _
And IsDate(Worksheets("入力シート 2").Cells(I, J).Value) = False Then

Worksheets("入力シート 2").Cells(I, J).Interior.ColorIndex = 3

ERR_fLG = True

ElseIf (Worksheets("入力シート 2").Cells(I, J).Value) < "2015/10/01" Then

Worksheets("入力シート 2").Cells(I, J).Interior.ColorIndex = 3

ERR_fLG = True

Else: Worksheets("入力シート 2").Cells(I, J).Interior.ColorIndex = 2

End If

End Sub

------------------------------------------------------------------------
Private Sub REA_RVA_csv()

K = 2

'指定した範囲(B2セル以降)をCSVで出力

Sheets("REA11").Select

'B2セルを起点。
today = Format(Year(Date), "00") & Format(Month(Date), "00") & Format(Day(Date), "00")
csvFile = "C:\REA11.csv" & "_" & today & ".csv"

If csvFile = False Then End

'ここはタイトル行のある「B1」とする。
lastCol = Range("B1").End(xlToRight).Column

fileNumber = FreeFile

Open csvFile For Output As #fileNumber

Do While Worksheets("REA11").Cells(K, 2).Text <> ""
For col = 2 To lastCol - 1
Print #fileNumber, Cells(K, col).Text & ",";
Next
Print #fileNumber, Cells(K, col).Text & ""

K = K + 1

Loop

Close fileNumber

上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。

パスワード:

ExcelのVBAについてのQ&A掲示板

↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください^^

VBAのInternetExplorer操作入門

↑ExcelのVBAをマスターできたら、エクセルVBAのIE(InternetExplorer)操作にも挑戦してみてください^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

エクセルVBAのステートメント

こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのオブジェクト

こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのプロパティ

こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのメソッド

こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのイベント

こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

dmb.cgi Ver. 1.068
Copyright(C) 1997-2014, hidekik.com