
開く、上書き保存 に掛かる時間が長い
いつもお世話になります。
OSはWin10 エクセルは2016 です。
ブックを「開く」 又は 「上書き保存」 の時間がかかります。
因みに、
開く は約1分
上書き保存 は1分45秒
です。
少し時間を短縮できないでしょうか。
もし可能ならご指導願えませんでしょうか。
私が憶測するに
1 ガンチャートに名前を入れている
2 構文でCells(GYOU, 1).Cells(GYOU, 2).と言う具合に繰り返し
が関係していると思いますが。
※参考
1 VBAの構文は
Private Sub UserForm_Initialize()
TextBox1.Text = Format(Date, "mm/dd")
End Sub
Sub 記入_Click()
Dim GYOU '追加
GYOU = Range("C65536").End(xlUp).Row + 1
Cells(GYOU, 1).Value = Range("N1").Value
Cells(GYOU, 2).Value = Range("N2").Value
Cells(GYOU, 3).Value = Range("N3").Value
Cells(GYOU, 5).Value = Range("N4").Value
Cells(GYOU, 6).Value = Range("N5").Value
Cells(GYOU, 7).Value = Range("N6").Value
Cells(GYOU, 8).Value = Range("N7").Value
Cells(GYOU, 9).Value = Range("N8").Value
End Sub
2 B7の関数は
=IF(COUNTIFS(入力!$D:$D,$A7,入力!$G:$G,"<="&B$5,入力!$H:$H,">="&B$5,入力!$G:$G,">0",
入力!$H:$H,"<9999/12/31")=1,INDEX(入力!$E:$E,SUMPRODUCT(ROW(入力!$E$1:INDEX(入力!$E:$E,
MATCH(9E+99,入力!$A:$A)))*(入力!$D$1:INDEX(入力!$D:$D,MATCH(9E+99,入力!$A:$A))=$A7)*(入力!$G$1:INDEX(入力!$G:$G,MATCH(9E+99,
入力!$A:$A))<=B$5)*(入力!$H$1:INDEX(入力!$H:$H,MATCH(9E+99,入力!$A:$A))>=B$5))),IF(COUNTIFS(入力!$D:$D,$A7,入力!$G:$G,"<="&B$5,
入力!$H:$H,">="&B$5,入力!$G:$G,">0",入力!$H:$H,"<9999/12/31")>1,"重複",""))

No.1ベストアンサー
- 回答日時:
こんばんは!
>2 構文でCells(GYOU, 1).Cells(GYOU, 2).と言う具合に繰り返し
>が関係していると思いますが。
おそらくユーザーフォームのコマンドボタンのコードだと思いますので、
ブックを開く、保存する。といった場合には直接関係ないと思います。
(コマンドボタンをクリックするとマクロが実行されるはず)
一つ気になるのが、数式内に
SUMPRODUCT関数を使っていますね。
SUMPRODUCT関数は配列数式になりますので、極端に広い範囲を指定してしまうと
計算速度が落ちてしまいます。
おそらくSheetの最終行までデータがある!というコトはないと思いますので、
SUMPRODUCT関数の範囲をある程度限定してみてはどうでしょうか。
SUMPRODUCT関数内のINDEX関数の範囲が列全体になっていますので、
>SUMPRODUCT(ROW(入力!$E$1:INDEX(入力!$E:$E,
の部分を
>SUMPRODUCT(ROW(入力!$E$1:INDEX(入力!$E1:$E3000,
といった感じで、もちろん他の範囲も同じ行数に合わせます。
※ 検証していませんので、
別の原因ならごめんなさい。m(_ _)m
おはよう
範囲を 例えば、
E:E H:H を tomoさんのアドバイスで
$E$1:$E$1000
$H$1:$H$1000
などのように変更したらばっちり解決できました
ありがとうございました
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) vba userformで漢字を全角カタカナに 2 2022/07/24 15:38
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Visual Basic(VBA) VBA 重複チェック後に値をワークシートに転記する方法を教えてください。 1 2023/03/19 12:43
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) 初めてマクロを入力しますが、テキストとおりに入力したのに構文エラーです。修正を教えてください。 3 2022/10/28 11:18
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Excel(エクセル) 並べ替え、ソートの構文がわからない。 お世話になります。VBA超初心者です。 エクセルでワークシート 2 2023/06/28 21:00
このQ&Aを見た人はこんなQ&Aも見ています
-
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
エクセルでファイルを閉じても空ウィンドウが残ります
Excel(エクセル)
-
-
4
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
5
複数の条件に合う行番号を取得するには
その他(Microsoft Office)
-
6
EXCEL VBA マクロ 実行する度に処理速度がどんどん遅くなる原因が知りたい
Excel(エクセル)
-
7
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
8
vba クリップボードクリアについて教えてください
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル ドロップダウンリスト...
-
特定のセルだけ結果がおかしい...
-
エクセル
-
エクセルのdatedif関数を使って...
-
【マクロ】アクティブセルの時...
-
【関数】同じ関数なのに、エラ...
-
エクセルの循環参照、?
-
【マクロ】A列にある、日付(本...
-
【マクロ】3行に上から下に並...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】WEBシステムから保存...
-
iPhoneのExcelアプリで、別のシ...
-
【エクセル】期限アラートについて
-
Excelファイルを開くと私だけVA...
-
Excelの新しい空白のブックを開...
-
Excelについての質問です 並べ...
-
マクロ・VBAで、当該ファイルの...
-
VBA チェックボックスをオーバ...
-
派遣会社とかハローワークとか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelファイルを開くと私だけVA...
-
エクセルについてどう関数を使...
-
マクロ・VBAで、当該ファイルの...
-
エクセルのセルに画像は埋め込...
-
エクセルで、一部のセルだけ固...
-
【マクロ、画像あり】A表かB表...
-
エクセルでカウントする
-
【マクロ】コードを少しでも、...
-
VBA_日時のソート
-
エクセルで教えてください。 例...
-
エクセル 月間シフト表で曜日ご...
-
セルの左に余白を付ける
-
エクセル
-
エクセルについて教えてください
-
2枚のエクセル表で数字をマッチ...
-
ExcelのIF関数との組み合わせの...
-
エクセルのファイルのコピーを...
-
エクセルで二つのブックの違い...
-
空白処理を空白に
-
Excelのチェックボックスについ...
おすすめ情報