![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
開く、上書き保存 に掛かる時間が長い
いつもお世話になります。
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,"重複",""))
![「開く、上書き保存 に掛かる時間が長いので」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/6/542530572_5c2353ef11fbb/M.png)
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】ファイル名の一括変...
-
エクセルでの2項目比較および...
-
【マクロ】フォルダ内にあるPDF...
-
Excelの条件付き書式について
-
【マクロ】functionプロシージ...
-
Excelの警告について
-
エクセルの数式バーのフォント...
-
EXCELの散布図で日付が1900年に...
-
エクセルでファイルの最終更新...
-
エクセルまたはGoogleスプレッ...
-
Excelで数値を時間数に変換する...
-
エクセル IF計算式?でしょうか?
-
エクセルで数字の組み合わせを...
-
2列に入っているデータを1列...
-
GoogleスプレッドシートでA1に...
-
【Excel】版が同じ事を示す番号...
-
googleのスプレッドシート
-
重複しない値を取り出したい
-
教えていただければと思います ...
-
Lookup関数
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの警告について
-
Excelで数値を時間数に変換する...
-
エクセルの数式バーのフォント...
-
エクセルで数字の組み合わせを...
-
エクセルを使用して、円周率を...
-
Excelで特定の文字列が含まれて...
-
Excel 対象のセルに入力が無い...
-
任意の値が存在する行に名前を...
-
エクセルでファイルの最終更新...
-
index関数の説明をお願いします。
-
条件付き書式でやりたいのですが
-
重複しない値を取り出したい
-
【ExcelVBA】UTF-8(BOM無)でC...
-
【マクロ】マクロが割当てされ...
-
エクセル IF計算式?でしょうか?
-
エクセルで曜日を入れたい
-
表中の指定した条件の文字列を...
-
【Excel】版が同じ事を示す番号...
-
EXCELの散布図で日付が1900年に...
-
Excelについて。Excelに縦1列に...
おすすめ情報