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

最近の書き込み件数: 今日 0件、昨日 0件
未読分:1件

最新20件 最新50件 最新100件 最新200件 200件以前
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)


Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応

近田 伸矢, 植木 悠二, 上田 寛

IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。

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

最新20件 最新50件 最新100件 最新200件 200件以前
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降

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