![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
VBAでAというExcelのbookをBというbookに1行ずつコピーする時のちらつきを無くしたいのですが、下記のようなコードだとおそらくコピー&ペーストを繰り返す時に行ったり来たりするからでしょうか画面が高速に切り替わってしまいます。
Sub test()
Dim A as Workbook
Dim B as Workbook
Dim firstLine as Long
Dim copyI as Long
Dim varFileName As Variant
Set A = Workbooks("A.csv")
Set B = Workbooks("B.xlsm")
copyI = 2
varFileName = dCsv
Workbooks.Open Filename:=varFileName
firstLine =B.Cells(Rows.count, "A").End(xlUp).Row
A.Application.ScreenUpdating = False
B.Application.ScreenUpdating = False
Do While A.Worksheets(1).Cells(copyI, 1).Value <> ""
A.Worksheets(1).Rows(copyI).Copy
B.Worksheets(1).Rows(firstLine + 1).PasteSpecial (xlPasteAll)
copyI = copyI + 1
firstLine = firstLine + 1
Loop
A.Application.ScreenUpdating = True
B.Application.ScreenUpdating = True
End Sub
どのようにすればそれを無くせるかご教示お願い致します。
No.1ベストアンサー
- 回答日時:
Workbooks.Open Filename:=varFileName
firstLine =B.Cells(Rows.count, "A").End(xlUp).Row
A.Application.ScreenUpdating = False
B.Application.ScreenUpdating = False
↓
Application.ScreenUpdating = False
Workbooks.Open Filename:=varFileName
firstLine =B.Cells(Rows.count, "A").End(xlUp).Row
'A.Application.ScreenUpdating = False Book毎にやる必要はないかと
'B.Application.ScreenUpdating = False
A.Application.ScreenUpdating = True
B.Application.ScreenUpdating = True
↓
Application.ScreenUpdating = True
'A.Application.ScreenUpdating = True こちらも
'B.Application.ScreenUpdating = True
Bookに対して画面更新を停めると言うよりExcelアプリに対してやるのではないかな。
ただ
>Workbooks.Open Filename:=varFileName
これの存在意味が不明なのですが、これ自体がサブであってメインが別にあるのなら画面更新はメインの最初で停めて最後で戻すのかも。
ありがとうございます。
まず、
Workbooks.Open Filename:=varFileName
なのですがA.csvをインポートするために記述しています。
質問の際に見やすいように実際のコードをシンプルにするために書き直したのですが、上手く出来ていなかったようです、すみません。
ちらつく問題なのですが、ご教示頂きました
Application.ScreenUpdating = False
を
Workbooks.Open Filename:=varFileName
の上に、
Application.ScreenUpdating = True
を
Loopの下に記述することで解消致しました。
ありがとうございました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
画面遷移を行わずに同一ページ...
-
Strutsの情報保持の仕方について
-
アドレスバーに引数を表示させ...
-
alertでHTMLのコードが出て...
-
"+"文字が" (スペース)"に文字...
-
遷移元を判定したい!
-
Java-jspの画面入力値保持について
-
GetWindowRect()が正しくない。
-
【JavaScriptわからない】1クリ...
-
C# ログイン画面からメイン画面...
-
画面を隠す・消す方法を教えて...
-
system("cls")について
-
検索画面→結果画面→検索画面と...
-
画像の縦横比固定の計算方法。
-
C言語で今まで表示していた画面...
-
HTMLからの情報取得について
-
javaのstrutsを使った画面遷移...
-
strutsで、JSP→アクションクラ...
-
iPhoneアプリ開発で画面遷移に...
-
JAVAのウインドウ振動の設定で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
三菱GOTの画面切り替えについて
-
C言語で今まで表示していた画面...
-
ASP.NET 画面遷移前の状態を保...
-
遷移元を判定したい!
-
Strutsの情報保持の仕方について
-
C# ログイン画面からメイン画面...
-
画面を隠す・消す方法を教えて...
-
Java-jspの画面入力値保持について
-
Wi-Fiのパスワードが指定なしと...
-
Javaプログラミングの質問にな...
-
FormのsubmitでFormの内容がnull
-
登録後、呼び出し元ページに戻...
-
ServletからServletへの値渡し
-
アドレスバーに引数を表示させ...
-
セッション切れでのリクエスト...
-
javaのstrutsを使った画面遷移...
-
JAVAのセッション変数の上書き...
-
strutsで、JSP→アクションクラ...
-
Javascriptのhistory.back()が...
-
Sessionがnullになりません。
おすすめ情報