
VBA超初心者です。
CSVファイルをインポートし、データ更新すると、下記エラーが起こります。
実行時エラー '-2147021882 (8007000e)'
データの消失を防ぐため、空白でないセルをワークシートの外にシフトすることはできません。
Ctrl+Endキーを押して最後の空白でないセルに移動し、そのセルとデータの末尾との間にある
すべてのセルを削除またはクリアしてください。その後、セルA1を選択し、ブックを保存して最後の
セルをリセットしてください。
(以下にも文章ありますが、一部しか表示されません)
この時、「デバック」ボタンを押すと、以下のマクロ表示となります。
Sub データ更新()
’
’データ更新日報出力Macro
’マクロ記録日:○○○ ユーザ名:○○
’
ScreenUpdating = False
Worksheets("sheet1")Select
Range("A2").Select
Selection.QueryTable.Refresh BackgroundQuery:=False
Range("A2").Select
End Sub
Sub ピボットテーブル更新日報印刷()
Sheets("Sheet2").Select
Range("B14").Select
ActiveSheet.PIvotTables("ピボットテーブル1").RefreshTable
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:True
End Sub
この構文で、Selection.QueryTable.Refresh BackgroundQuery:=False が
間違っているようなのですが、どうすればいいのか良くわかりません。
どなたか教えていただけないでしょうか?
No.1ベストアンサー
- 回答日時:
>Selection.QueryTable.Refresh BackgroundQuery:=False
この『構文』自体が間違っているわけではありません。
"sheet1"のA2セルに設定されているQueryTable(外部データ取り込み)
を更新する時に、エラーが発生して更新できない、という意味です。
おそらく、エラー原因はエラーメッセージそのままではないでしょうか。
『..空白でないセルをワークシートの外にシフトすることはできません..』
QueryTableの設定によっては、取り込みデータを挿入するようになっています。
例えば、シートの最下行にデータがあって、
取り込みデータを挿入するとデータがはみ出てしまう、という場合は
そういったエラーメッセージが出る事も考えられます。
#こちらの環境では再現できなかったので半分自信なしですが -"-
対策もエラーメッセージに書かれている通りです。
例えば"sheet1"で使用中のデータの最終行が1,000行だと思っていても、
それ以下になんらかの使用領域が残っている可能性があります。
Ctrl+Endキーを押してみてください。
"sheet1"の実際の最終セルに移動します。
その行から1,001行目までを選択して削除してください。
(実際に必要なデータがないかどうかを確認の上で。)
その後ブックを保存してください。
以上で解消すれば良いのですが。
または、QueryTableの設定を変更してみる方法もあります。
"sheet1"のA2セルを選択して右クリック。
[データ範囲のプロパティ]を開きます。
『変更されたレコード(行)のデータ更新時の処理:』
が
○新しいデータのセルを挿入し、使用されていないセルを削除する
になっていたら、
○既存のセルを新規データで上書きし、使用されていないセルはクリアする
に変更してみてください。
いずれかでも解消できない場合は
現在のシート状態と実際の利用の仕方などの詳細情報があると
他にアドバイスあるかもしれません。
(例えば外部データを取り込んだ後に数式や書式を設定していたりとか、
何かの図形を配置しているとか)
>対策もエラーメッセージに書かれている通りです。
例えば"sheet1"で使用中のデータの最終行が1,000行だと思っていても、
それ以下になんらかの使用領域が残っている可能性があります。
Ctrl+Endキーを押してみてください。
"sheet1"の実際の最終セルに移動します。
その行から1,001行目までを選択して削除してください。
(実際に必要なデータがないかどうかを確認の上で。)
その後ブックを保存してください。
end-u 様
教えていただいたとおり、やってみた所、正常に動きました。
周りに詳しい者がおらず、大変助かりました。
わかり易く教えていただき、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Refreshで落ちる
Visual Basic(VBA)
-
WebのデータをとりこむExcelマクロのエラーについて
Excel(エクセル)
-
外部データを取り込むマクロ
Access(アクセス)
-
-
4
【Excel VBA】CSV取込時、数字の先頭の0を消えないようにするには?
Excel(エクセル)
-
5
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
6
EXCEL VBA 1004 一般ODBCエラー1
IT・エンジニアリング
-
7
マクロで、次のコードへ行く前に時間をおくにはどうしたらいいのでしょうか?
その他(Microsoft Office)
-
8
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
9
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
10
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
11
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
12
EXCEL VBA 指定したファイルが存在しない場合メッセージボックスを表示させる
Access(アクセス)
-
13
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
14
【Excel】[Expression.Error] キーがテーブルのどの行とも一致しませんの解決法?
Excel(エクセル)
-
15
B列の最終行までA列をオートフィル
Visual Basic(VBA)
-
16
マクロの「SaveAs」でエラーが出るのを解消したいです(再)
Visual Basic(VBA)
-
17
【ExcelVBA】クエリの更新とピボットの更新を自動化するには?
Visual Basic(VBA)
-
18
Excelのセルにユーザー名を表示する方法
Excel(エクセル)
-
19
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
20
エクセルで外部データの取り込みの際の「名前の定義」について。
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel UserForm の表示位置
-
VBAマクロ実行時エラーの修正に...
-
【VBA】【ユーザーフォーム_Lis...
-
特定の色のついたセルを削除
-
EXCELのフォーム上でリアルタイ...
-
VBA:日付を配列に入れ別セルに...
-
Excelで空白セル直前のセルデー...
-
VBA 特定のセルからoffsetされ...
-
複数指定セルの可視セルのみを...
-
マクロ初心者です。 マクロで範...
-
エクセルVBA 配列からセルに「...
-
【Excel VBA】マクロで書き込ん...
-
Excel VBAでCheckboxの名前を変...
-
Excel VBA IF文がうまく動作し...
-
セルの半透明着色処理
-
エクセル、マクロで番号を読込...
-
DataGridViewでグリッド内に線...
-
「VBA」会議室予約表の作成
-
EXCEL VBA 文中の書式ごと複写...
-
CSVファイルを読み込んだらセル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel UserForm の表示位置
-
VBAマクロ実行時エラーの修正に...
-
特定の色のついたセルを削除
-
Excelで空白セル直前のセルデー...
-
エクセルVBA 配列からセルに「...
-
【VBA】【ユーザーフォーム_Lis...
-
【VBA】写真の貼り付けコードが...
-
データグリッドビューの結合セ...
-
複数指定セルの可視セルのみを...
-
エクセル、マクロで番号を読込...
-
CellEnterイベント仕様について
-
C# DataGridViewで複数選択した...
-
【ExcelVBA】値を変更しながら...
-
EXCEL VBA 文中の書式ごと複写...
-
マクロ初心者です。 マクロで範...
-
【Excel VBA】一番右端セルまで...
-
【Excel VBA】マクロで書き込ん...
-
VBA:日付を配列に入れ別セルに...
-
DataGridViewでグリッド内に線...
-
DataGridViewのフォーカス遷移...
おすすめ情報