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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Excel(エクセル) excelVBAについて。 8 2022/12/11 13:47
- Excel(エクセル) Excelでnullになるような式のセルをマクロで空白行と認識させるにはどうすればいいですか? 3 2023/03/13 13:42
- Excel(エクセル) ExcelVBAについて。 2 2022/12/10 20:08
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/03/02 08:40
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
Refreshで落ちる
Visual Basic(VBA)
-
マクロで、次のコードへ行く前に時間をおくにはどうしたらいいのでしょうか?
その他(Microsoft Office)
-
EXCEL VBA 1004 一般ODBCエラー1
IT・エンジニアリング
-
-
4
WebのデータをとりこむExcelマクロのエラーについて
Excel(エクセル)
-
5
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
6
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
7
エクセルでエラーが出て困っています。
Excel(エクセル)
-
8
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
9
外部データを取り込むマクロ
Access(アクセス)
-
10
【Excel VBA】CSV取込時、数字の先頭の0を消えないようにするには?
Excel(エクセル)
-
11
「Excel VBA」 Webクエリ マクロ「実行時エラー1004"ファイルにアクセスできませんでした」"
Visual Basic(VBA)
-
12
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
-
13
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
14
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
-
15
外部データの更新がうまくできません(Excel VBA)
Visual Basic(VBA)
-
16
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
17
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
18
Excelのセルにユーザー名を表示する方法
Excel(エクセル)
-
19
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
-
20
【ExcelVBA】クエリの更新とピボットの更新を自動化するには?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAマクロ実行時エラーの修正に...
-
Excelで空白セル直前のセルデー...
-
エクセルVBA 配列からセルに「...
-
【Excel VBA】一番右端セルまで...
-
EXCEL VBA 文中の書式ごと複写...
-
Excel UserForm の表示位置
-
入力規則のリスト選択
-
特定の色のついたセルを削除
-
VBA 複数条件の分岐処理の上手...
-
DataGridViewで指定したセルの...
-
DataGridViewのフォーカス遷移...
-
エクセルのカーソルを非表示に...
-
指定した文字から指定した文字...
-
DataGridViewでグリッド内に線...
-
Rangeの範囲指定限界
-
エクセルの選択範囲のセルの値...
-
Excel VBA 同じ処理を複数回行...
-
エクセルの合計を自動で表示さ...
-
Excel VBA IF文がうまく動作し...
-
Excelのセルから日付情報を取得...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAマクロ実行時エラーの修正に...
-
エクセルVBA 配列からセルに「...
-
VBA 複数条件の分岐処理の上手...
-
Excelで空白セル直前のセルデー...
-
Excel UserForm の表示位置
-
EXCEL VBA 文中の書式ごと複写...
-
特定の色のついたセルを削除
-
VBA にて、条件付き書式で背景...
-
VBAでユーザーフォームにセル値...
-
【VBA】写真の貼り付けコードが...
-
【Excel VBA】一番右端セルまで...
-
Excel VBAでCheckboxの名前を変...
-
エクセルの合計を自動で表示さ...
-
【VBA】【ユーザーフォーム_Lis...
-
VBA:日付を配列に入れ別セルに...
-
Excel VBA IF文がうまく動作し...
-
下記のマクロの説明(意味)を...
-
入力規則のリスト選択
-
C# DataGridViewで複数選択した...
-
関数の引数でrangeを指定したとき
おすすめ情報