
マクロを含むエクセル(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)
-
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
4
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
5
excelでVBA実行後に画面に残るゴミを無くしたい。
Excel(エクセル)
-
6
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
7
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
8
VBAでユーザーフォームを再表示させたい。
Excel(エクセル)
-
9
マクロで、次のコードへ行く前に時間をおくにはどうしたらいいのでしょうか?
その他(Microsoft Office)
-
10
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
11
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
-
12
エクセルで参照しているデータを常に最新の状態にしたい
Excel(エクセル)
-
13
Excelマクロでの再読込み方法
Excel(エクセル)
-
14
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
15
マクロ実行後に別シートの残像が残り、オブジェクトが見えなくなる
Visual Basic(VBA)
-
16
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
17
DoEvents関数って何?
Visual Basic(VBA)
-
18
別のシートから値を取得するとき
Visual Basic(VBA)
-
19
EXCEL VBAのユーザーフォームに引数を渡す方法について
Excel(エクセル)
-
20
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
エクセルで、2つのシートにある...
-
5
エクセルの担当者別にシートを...
-
6
エクセルVBAで65536レコードを...
-
7
【エクセル】シートのロックで...
-
8
表示倍率を変更させない方法
-
9
エクセルVBAの文字列の部分一致...
-
10
マクロ>指定した範囲をテキス...
-
11
エクセルで、作った年間カレン...
-
12
エクセルVBAでデータ検索について
-
13
STAT VIEWが使えない!!!
-
14
コンピューターで2進法が採用...
-
15
履歴書の日付間違いで落ちますか。
-
16
「24日の0時」って・・・
-
17
回覧板の日付について質問です...
-
18
wordで変な位置で改行されます...
-
19
差し込み印刷に当日の日付が入...
-
20
「時間」、「期日」、「日付」...
おすすめ情報
公式facebook
公式twitter