エクセルのグラフで教えてください。
下記のVBAを使って同じグラフを
それぞれ別シートに作成しています。
VBAの3行目のActiveSheetはシート名(入力画面)を指します。
入力画面のセルで1または2を入力することで
グラフの色が変わるようにしています。
そのグラフと同じものを別シート(印刷用画面)に作成したく
入力画面の入力で印刷用画面の入力も変わるようにしたつもりなのですが・・・
この方法だと、入力した際に
一瞬印刷用画面に移動して画面がちらついてしまいます。
このちらつきをなくしたいのですが
なにかよい方法はありますでしょうか?
よろしくお願いいたします。
Sub Sam1()
Dim i, nColor As Integer
ActiveSheet.ChartObjects("グラフ 8").Select
i = 1
nColor = 2 '←「2」の時の色
If Cells(i, 13) = 1 Then nColor = 5 '←「1」の時の色
ActiveChart.SeriesCollection(1).Points(i).Interior.ColorIndex = nColor
Sheets("印刷用画面").Select
ActiveSheet.ChartObjects("グラフ 2").Select
nColor = 2 '←「2」の時の色
If Sheets("入力画面").Cells(i, 13) = 1 Then nColor = 5 '←「1」の時の色
ActiveChart.SeriesCollection(1).Points(i).Interior.ColorIndex = nColor
Sheets("入力画面").Select
Range("H15").Select
End Sub
No.1ベストアンサー
- 回答日時:
画面のちらつきをなくすのは下記のようにします。
Application.ScreenUpdating = False '画面更新抑止
・処理
Application.ScreenUpdating = True '画面更新
【Excel】VBAのパフォーマンスを向上する
http://blog.livedoor.jp/akf0/archives/51118828.h …
ScreenUpdatingを使わなくても画面のちらつきをなくせます。
それにはSelect、Activateをしないようにして、ActiveSheetとかActiveCellをやめることです。
マクロ実行対象が同一ブック内なら、必要なところにはシート名をきちんと書いてやります。
提示されたコードも
Sub Sam2()
Dim nColor As Variant
Dim i As Long
i = 1
If Sheets("入力画面").Cells(i, "M") = 1 Then nColor = 6
Sheets("入力画面").ChartObjects("グラフ 8").Chart.SeriesCollection(1).Points(i).Interior.ColorIndex = nColor
Sheets("印刷画面").ChartObjects("グラフ 2").Chart.SeriesCollection(1).Points(i).Interior.ColorIndex = nColor
Application.Goto Reference:=Sheets("入力画面").Range("H15"), Scroll:=True
End Sub
といった感じにまとめられます。
Sam2で画面が更新されるのは
Application.Goto Reference:=Sheets("入力画面").Range("H15"), Scroll:=True
のところだけです。
これなら
Application.ScreenUpdating = True
で、画面更新するのと変わりないことになります。
ありがとうございます。
早速試してみたところすごくうまくいきました!!
シート名ときちんと書くことが重要ですね!!
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの印刷マクロについて質問があります。 現在、下記のマクロで印刷しています。Sheet1のD6 5 2023/06/12 10:59
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Excel(エクセル) エクセルのイベントVBAを複数のシートで動かしたい 1 2022/12/07 16:55
- Visual Basic(VBA) エクセル365のVBAで困っています。どう修正したらよいか添削をお願いします 2 2023/05/03 17:35
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Excel(エクセル) エクセル VBAでシートのコピーを作りたい 1 2023/05/18 07:42
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Excel(エクセル) エクセルVBAで次の二つを行いたいのですが思うように動きません。どう修正したらよいのでしょうか? 2 2023/04/22 14:55
- Excel(エクセル) 【Excel】複数シートがあるエクセルデータで片面印刷と両面印刷設定がシートごとに入 1 2023/03/10 15:25
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows Media Player10でフル...
-
スワイプの左右の定義
-
テレビで YouTube を見ています...
-
iPhone6(だけ)で動画を見ると...
-
discord内での動画共有について
-
セックスしたいよー どうしたら...
-
現在が、セーフモードかどうか...
-
インターネットの画面を左右に...
-
Apple Watchで Appleウォッチで...
-
動画のサムネイルについて
-
3画面でフライトシミュレータを...
-
フリーWi-Fi接続時に一旦HTTPの...
-
FireFoxで全画面でもWindowsの...
-
excelでVBA実行後に画面に残る...
-
自分のiPadからアマプラ契約を...
-
タブレットでこんな画面が出た...
-
テレビ画面のサイズ一覧
-
windows10のXM・MT4で写真の...
-
石川県能登地方、震度7、どう...
-
PC版LINEをダウンロードしたら...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows Media Player10でフル...
-
discord内での動画共有について
-
テレビで YouTube を見ています...
-
スワイプの左右の定義
-
【Android】画面上部の天気予報...
-
iPhone6(だけ)で動画を見ると...
-
動画のサムネイルについて
-
自作のソフトウエアをandroidへ...
-
セックスしたいよー どうしたら...
-
石川県能登地方、震度7、どう...
-
エッジやクロームで
-
excelでVBA実行後に画面に残る...
-
PC版LINEをダウンロードしたら...
-
現在が、セーフモードかどうか...
-
北斗の拳「画像準備中?」
-
フリーWi-Fi接続時に一旦HTTPの...
-
自分のiPadからアマプラ契約を...
-
メルカリショップについて
-
FireFoxで全画面でもWindowsの...
-
画面ではきれいな画像がプリン...
おすすめ情報