実行時エラー91 オブジェクト変数Withブロック変数設


実行時エラー91 オブジェクト変数Withブロック変数設。全ての「Selection」と「ActiveCell」の前に「xlApp。【不定期】オブジェクト変数Withブロック変数設定されていません

AccessVBAでExcel開き、下記のような処理実行て 1回目問題なく実行できるの、二回目
「オブジェクト変数Withブロック変数設定されていません」表示されて実行できません

不定期エラー出る症状ついて調べたの、らい原因特定できませんでた
ご教示お願いいたます

Public Function ShapingDATA2()

Dim xlApp As Object
Dim xlWb As Excel Workbook
Dim xlWs As Excel Worksheet

Set xlApp = CreateObject("Excel Application")
xlApp Visible = True
xlApp UserControl = True
xlApp DisplayAlerts = True

Set xlWb = xlApp Workbooks Open("ファイルアドレス")
Set xlWs = xlWb Worksheets("シート名")

& x27;最終行の取得
Dim number As Integer
Dim i As Integer
Dim test As String
i = 1
While (xlWs Cells(i, 1) <> "")
number = i
i = i + 1
Wend
number = number 1

& x27;整形
& x27;不要行?列の削除
xlWs Rows("1:1") Select
Selection Delete Shift:=xlUp
xlWs Columns("B:D") Select
Selection Delete Shift:=xlToLeft
& x27;時間(h,m,s)フィールドの作成
xlWs Range("F2") Select
ActiveCell FormulaR1C1 = "=TEXT(RC[ 3],""hh:mm:ss"")"
xlWs Range("G2") Select
ActiveCell FormulaR1C1 = _
"=iferror(IF(VALUE(LEFT(RC[ 1],2))<6,TEXT(VALUE(LEFT(RC[ 1],2)+24),""00""),TEXT(VALUE(LEFT(RC[ 1],2)),""00"")),"" "")"
xlWs Range("H2") Select
ActiveCell FormulaR1C1 = "=MID(RC[ 2],4,2)"
xlWs Range("I2") Select
ActiveCell FormulaR1C1 = "=RIGHT(RC[ 3],2)"
& x27;オートフィル
xlWs Range("F2:I2") Select
Selection AutoFill Destination:=Range(Cells(2, 6), Cells(number, 9))
& x27;値で貼り付けて不要行の削除
xlWs Columns("G:I") Select
Selection copy
xlWs Range("J1") Select
Selection PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
xlWs Columns("F:I") Select
Selection Delete Shift:=xlToLeft
xlWs Columns("C:C") Select
Selection Delete Shift:=xlToLeft
& x27;フィールド名の書き込み
xlWs Range("E1") Select
ActiveCell FormulaR1C1 = "hour"
xlWs Range("F1") Select
ActiveCell FormulaR1C1 = "minute"
xlWs Range("G1") Select
ActiveCell FormulaR1C1 = "second"
xlWs Range("A1") Select
ActiveCell FormulaR1C1 = "VIN"

& x27;エラー行置換
i = 2
While (xlWs Cells(i, 1) <> "")
If xlWs Cells(i, 2) = " / / " Then
xlWs Cells(i, 2) = "9999/09/09"
xlWs Cells(i, 3) = "*"
xlWs Cells(i, 5) = "*"
xlWs Cells(i, 6) = "*"
xlWs Cells(i, 7) = "*"
End If
i = i + 1
Wend

& x27;保存する
xlWb SaveAs FileName:= _
"保存先アドレス" _
, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

& x27;終了する
xlWb Close (False)
xlApp Quit

Set xlApp = Nothing
Set xlWb = Nothing
Set xlWs = Nothing

End Function実行時エラー91。実行時エラー オブジェクト変数またはブロック変数が設定されていません
と表示される お世話に質問をフォローすることや役に立つと投票することは
できますが。このスレッドに返信することはできません。フォームのレコード
ソースにテーブル名を設定して。各テキストボックスのコントロールソースに
フィールド名を設定しておきます。該当レコードがなければ。新規レコード
登録。あれば。該当レコードが表示されて更新できるようになります。

オブジェクト変数またはWITHブロックが設定されていません。マクロの実行時。ある端末では。エラーが出ずに正常に処理を行います
が。別の端末では。『オブジェクト変数またはブロックが設定されていませ
ん』のエラーが出て。処理が実行出来ません。のV10。へしようとしたところ。「実行時エラー オブジェクト
変数またはブロック変数が設定されていません」とエラーが表示されます。
回答 でエラーとなる場合は。大変恐れ入りますが下記オブジェクト変数または。型を指定せずに変数が宣言されている場合。既定で 型になります。

全ての「Selection」と「ActiveCell」の前に「xlApp.」を付けてみてください。Selection.Delete Shift:=xlUp ↓xlApp.Selection.Delete Shift:=xlUpActiveCell.FormulaR1C1 ==○○ ↓xlApp.ActiveCell.FormulaR1C1 ==○○マクロ記録のプログラムを手順通りに整理すればおのずと不具合はなくなるのでは?Public Function ShapingDATA2Dim xlApp As ObjectDim i As IntegerSet xlApp = CreateObjectExcel.ApplicationxlApp.Visible = TruexlApp.UserControl = TruexlApp.DisplayAlerts = TrueWith xlApp.Workbooks.OpenファイルアドレスWith .Worksheetsシート名'整形'不要行?列の削除.Rows1.Delete Shift:=xlUp.ColumnsB:D.Delete Shift:=xlToLeft'時間h,m,sフィールドの作成.RangeF2.FormulaR1C1 = =TEXTRC[-3],hh:mm:ss.RangeG2.FormulaR1C1 = _=iferrorIFVALUELEFTRC[-1],26,TEXTVALUELEFTRC[-1],2+24,00,TEXTVALUELEFTRC[-1],2,00,–.RangeH2.FormulaR1C1 = =MIDRC[-2],4,2.RangeI2.FormulaR1C1 = =RIGHTRC[-3],2'最終行までオートフィル.RangeF2:I2.AutoFill Destination:=.RangeF2:I.CellsRows.Count, 1.EndxlUp.Row'値で貼り付けして不要行の削除.ColumnsG:I.Copy.RangeJ1.PasteSpecial Paste:=xlPasteValues.ColumnsF:I.Delete Shift:=xlToLeft.ColumnsC:C.Delete Shift:=xlToLeft'フィールド名の書き込み.RangeE1.Value = hour.RangeF1.Value = minute.RangeG1.Value = second.RangeA1.Value = VIN'エラー行を置換i = 2While .Cellsi, 1If .Cellsi, 2 = —-/–/– Then.Cellsi, 2 = .Cellsi, 3 = *.Cellsi, 5 = *.Cellsi, 6 = *.Cellsi, 7 = *End Ifi = i + 1WendEnd With'保存する.SaveAs Filename:=保存先アドレス, FileFormat:=xlOpenXMLWorkbookMacroEnabled'終了する.Close FalseEnd WithxlApp.QuitSet xlApp = NothingEnd Function以下、私が感じたことなので、嘘が多いかも???でも、そうかな???とかなら、さらに調べてみるとか??? AccessVBAでExcelを開き????Access さんで、Excel を参照設定した際、動き初めには、Excel の裏方さんが ひとり 居るみたいExcel のオブジェクトを作って、記述していく過程で、作ったオブジェクトの修飾がない???けど、Excel の使い方かも???この時に、Excel の裏方さんは、生成された Excel のオブジェクトになり変って、処理を続けようとする?そうするうちに、生成した Excel オブジェクトと裏方さんは一体になって???最後に、Nothing したことで、裏方さんも消える?????なので、2度目は裏方さんは居なくなったので????そんな記述わからない????で、エラーに記述を見ていくと、 Selection.Delete Shift:=xlUpこの Selection って、誰が解釈するもの? ActiveCell.FormulaR1C1 = ????ActiveCell って何? RangeCells2, 6, Cellsnumber, 9中の Cells2, 6 ???って何?1回でも動けば儲けもの????実際に正しい記述しているのかは、?参照設定をはずして?Excel での定数は Const で定義するようにしてそれで実行してみるとか???開発時は、参照設定組み込みでも良いかもしれない運用に向けて???なら、参照設定をはずしたものが良いかも??参照設定していると、上位バージョンで動かした際、参照設定が書き変わり、以後、下位バージョンで実行しようとしたら、参照設定が不正で動かなくなったり????したような気がするまずは、修飾を正しく記述したものに書き換えて???みる?'オートフィルxlWs.RangeF2:I2.SelectSelection.AutoFill Destination:=RangeCells2, 6, Cellsnumber, 9を'オートフィルxlWs.RangeF2:I2.AutoFill Destination:=xlWs.RangexlWs.Cells2, 6, xlWs.Cellsnumber, 9に書き直しても一緒ですかね?Range、Cellに対して、どのシートのという記述が漏れているのが誤動作の原因になっているのかと思いました。

  • 退職できない 大学の授業が忙しくなり5月の頭までしか働け
  • めだか専門店 黒ラメサファイアで買ったのですがこれはあっ
  • ダークソウル ダークソウル3でデーモンの老王というボスは
  • 小池都知事 小池百合子都知事『のぞき劇場』『ストリップ劇
  • emacs ?嫌なことは基本流すが流しきれず受け取った分
  • コメントはまだありません

    コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です