
マクロを含むエクセル(EXCEL2000)をHTMLのページからハイパーリンクで呼び出しています。そのエクセルでボタン操作に従い罫線やセルの着色を行っています。しかし、着色結果が更新されません。スクロールバー等で画面を移動すると正しく着色されています。このエクセルを通常に起動した場合は、問題なく動作するのですが、シート全体を更新する方法を教えて下さい。
各関数では、以下のスクリーンアップデータの処理を入れています。
Application.ScreenUpdating = False
(処理)
Application.ScreenUpdating = False
No.3ベストアンサー
- 回答日時:
たぶん、EXCEL独特の問題だと思うのですが、HTML の場合、すでに色の部分を表面上で使用しているので、それでメモリが占有させているのではないかと私は思っています。
他にも、
ActiveWorkbook.HTMLProject.RefreshDocument True
というのがありますね。
ホスト アプリケーション内のブックに含まれる HTML プロジェクトを更新する、というのがありますね。
アドバイス頂いた方法では、うまくいきませんでしたが、VBAの手順としては、問題なさそうなので安心しました。
アプリケーションの問題かブラウザとの相性の問題のようですね。ありがとうございました。
No.2
- 回答日時:
Application.ScreenUpdating
では、ダメだったということでしょうか?
もし、そうなら、いろいろ実験してみないとなんともいえませんね。
例えば、全体をActivate しなおす方法。
AppActivate (Application.Caption)
シートをActivate する。
Worksheets("Sheet1").Activate
また、シートを活性化する。
Application.Calculate
まだ、他にもあるかもしれません。
この回答への補足
回答ありがとうございます。
>Application.ScreenUpdating
>では、ダメだったということでしょうか?
はい、ダメだめでした。
逆に、この処理を止めると画面が、ばたつきますが、着色等は正しく完了します。しかし、ショートカットでも同じエクセルを使用したいのでApplication.ScreenUpdatingの処理は、残しておきたいです。
>AppActivate (Application.Caption)
この処理は、エクセルを起動するという意味でしょうか?
動作確認できませんでした。
>Worksheets("Sheet1").Activate
一旦、別シートへアクティブを切り替えると正しく表示されます。しかし、自シートに対しては、正しく表示されませんでした。
>Application.Calculate
正しく表示されませんでした。
今暫定的に、Application.ScreenUpdating=Trueの後、一度、全セルを選択して、その選択を解除する処理を入れています。少し、見苦しいですが、正しい表示を行うことができます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
Refreshメソッドの使い方
Visual Basic(VBA)
-
マクロ実行後に別シートの残像が残り、オブジェクトが見えなくなる
Visual Basic(VBA)
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
-
4
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
5
excelでVBA実行後に画面に残るゴミを無くしたい。
Excel(エクセル)
-
6
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
7
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
8
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
9
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
10
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
11
エクセルで参照しているデータを常に最新の状態にしたい
Excel(エクセル)
-
12
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
-
13
screenupdatingが機能しなくて困ってます
Visual Basic(VBA)
-
14
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
15
Excelのセルにユーザー名を表示する方法
Excel(エクセル)
-
16
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
17
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
18
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
19
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
20
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでエクセルシートを更新...
-
excelで、セル内に文字が入力さ...
-
エクセルのシートを同時に行削...
-
【エクセル】シートのロックで...
-
Excelのマクロで、開いた時に、...
-
表示倍率を変更させない方法
-
エクセルで、2つのシートにある...
-
シートを串刺しで抽出したいの...
-
エクセルの担当者別にシートを...
-
エクセルVBAで65536レコードを...
-
エクセルのチェックボックスを...
-
「24日の0時」って・・・
-
「時間」、「期日」、「日付」...
-
差し込み印刷に当日の日付が入...
-
下の画像はアンドロイドタブレ...
-
日付の大小の表現
-
日付を差し込み印刷で表示した...
-
エクセルで数字から名前に変...
-
VBAで「セルに何か入っている場...
-
エクセルで6ヵ月後を自動入力で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでエクセルシートを更新...
-
excelで、セル内に文字が入力さ...
-
エクセルで、2つのシートにある...
-
エクセルのシートを同時に行削...
-
【エクセル】シートのロックで...
-
表示倍率を変更させない方法
-
エクセルの担当者別にシートを...
-
Excelのマクロで、開いた時に、...
-
エクセルVBAで65536レコードを...
-
シートを串刺しで抽出したいの...
-
エクセルで別シート、または別...
-
エクセルの自動代入、自動コピ...
-
筆王への住所録データ取り込み...
-
エクセルのCSVについて
-
エクセルのチェックボックスを...
-
エクセルで数字から名前に変...
-
「時間」、「期日」、「日付」...
-
差し込み印刷に当日の日付が入...
-
日付の大小の表現
-
PCやスマホで文字入力をする際...
おすすめ情報