![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
はじめまして。
さっそくですが質問させていただきます。
VB(記述はVBA)からExcel(非表示)のシートに、
行を挿入する処理についてです。
以下のような単純な処理ですが、
「Debug.Print」では通常18秒程度と表示されます。
しかし(1)の所をFalse→Trueにすると、1秒もかかりません。
質問:
1.非表示で行の挿入を高速にする方法はありますか?
2.なぜ表示時の方が速いんですか?
どちらかわかる方だけでも良いのでお願いします。
OS :windows2000
Language :VB6.0(SP6)
Excel.Ver :2000
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
800字制限で全部入りきらなかったんです。
すみません。
Private Declare Function timeGetTime Lib "winmm.dll" () As Long
Private m_lngTimeStart As Long'開始時間
Private Sub InsertCol()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim i As Integer'カウンタ
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("ファイル名")
Set xlSheet = xlBook.Worksheets("シート名")
With xlApp
'計算停止
.ScreenUpdating = False
'メッセージ停止
.DisplayAlerts = False
'イベント停止
.EnableEvents = False
'非表示
.Visible = False・・・・(1)
End With
m_lngTimeStart = timeGetTime
With xlSheet
For i = 15 To 50
.Range("A" & i & ":BZ" & i).Insert Shift:=xlDown
Next
End With
Debug.Print (CDbl(timeGetTime) - CDbl(m_lngTimeStart)) / 1000
xlBook.SaveAs "ファイル名"
xlApp.Quit
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルVBA マクロ処理中のポップアップメッセージについて 1 2023/08/04 21:34
- Excel(エクセル) Excelでnullになるような式のセルをマクロで空白行と認識させるにはどうすればいいですか? 3 2023/03/13 13:42
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- Excel(エクセル) 非表示にしたい行をグループ化して折り畳み 4 2022/09/17 20:17
- その他(IT・Webサービス) 高速処理可能な表計算ソフトについて ExcelやGoogleスプレッドシートのような表計算ソフトで、 2 2023/04/29 16:06
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
- Excel(エクセル) Excelマクロの表示のExcel内をfindで検索 3 2022/06/15 20:07
- Excel(エクセル) [スライサー]に関して、 1 2022/05/24 21:07
- Visual Basic(VBA) EXCEL VBAで教えてください。 1 2022/12/22 04:20
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBSの処理中一旦処理を止めて再...
-
エクセルVBAでクリップボード内...
-
Excel VBA で処理中断(DoEvents...
-
スロットゲームのプログラミング
-
ACCESS側からEXCELの書式を設定...
-
VBSで応答不要のメッセージボッ...
-
VB Loopを一時停止し再開あるい...
-
vb.net イベントが完全に終了...
-
WEB上にボタンが押せない
-
Application.ScreenUpdating=Fa...
-
VBA メッセージボックスを自動...
-
Excel VBA 実行中に一瞬フリー...
-
VBA kernel32 の意味
-
InvalidateRectがうまくいかない
-
Excelのワークシートに行を挿入...
-
メッセージボックスのボタン名変更
-
VC++6.0 CDateTimeCtrl の暴走...
-
VBA:IEでサイトを巡回し、デー...
-
VB.NET開発(イベントプロシー...
-
処理をとめるキャンセルボタン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBSの処理中一旦処理を止めて再...
-
メッセージボックスのボタン名変更
-
ACCESS側からEXCELの書式を設定...
-
VBSで応答不要のメッセージボッ...
-
VBA kernel32 の意味
-
エクセルVBAでクリップボード内...
-
【C#】 あるイベントから別イ...
-
Excel VBA で処理中断(DoEvents...
-
VBA メッセージボックスを自動...
-
Application.ScreenUpdating=Fa...
-
Excel VBA 自動的に閉じるMsgBox
-
ASP.NETでのメッセージ画面を出...
-
メッセージBOXの「はい」「いい...
-
「キャンセル」ボタン付きの処...
-
B列に特定の文字列が入っている...
-
シャットダウン時のExcel強制終...
-
ASP VBScriptでスクリプト実行...
-
起動後直に実行するコードはど...
-
MFCのメニューバーのイベント取得
-
アクセスでのキー送信について
おすすめ情報