
万年マクロ初心者です。よろしくお願いいたします。
2つのシートを使って作業しているとします。
それらをsheet A、sheet Bとします。
画面に表示しているシートはsheet Aのままで、sheet Bのいくつかのセルに
書きこみをさせたいのです。というのはsheet Bへの書きこみ量が多い為、
表示をさせていると非常に時間がかかるためです。
その方法がわからないので、今は仕方なく下記のようにしています。
Sheets("A").Select
・
・
・
Sheets("B").Select
Columns("B:CP").Select
Selection.ClearContents
With Selection.Font
.Name = "MS Pゴシック"
.FontStyle = "標準"
End With
For r = 3 To 72
For c = 2 To 94
If ○○○ Then Cells(r, c) = "*"
If △△△ Then Cells(r, c) = "★"
Next c
Next r
Sheets("A").Select
・
・
・
sheet Bでやっている作業を、なんとかsheet Bを表示させずにできないものでしょうか?
よろしくお願いいたします。
No.3ベストアンサー
- 回答日時:
こんにちわ。
>その逆、つまり今回のように「こんなことがしたいんだけど、どういうコマンドを…」というとき、皆さんはどうしていらっしゃるのでしょうか・・・?
うーん、人それぞれとは思いますが・・・
私は、まず、はじめの頃は師匠(会社の先輩だった方ですけど)に聞いていました。本(本屋で立ち読み(座り読み?)してから購入するとか。ネット上で検索してみるとか、専用のQ&Aを利用するとか?
いろいろ探してみると、自分に会うサイトを見つけれるかもしれませんね。
参考ですが、
http://plaza18.mbn.or.jp/~Happy/
http://www.asahi-net.or.jp/~zn3y-ngi/YNxv20.html
なんかもいかがでしょうかね?
お互いにがんばりましょうね。では少しでも参考になればよいのですが。。。
参考URL:http://www.asahi-net.or.jp/~zn3y-ngi/YNxv20.html
ご親切な対応に感謝いたします。
ご紹介頂いたサイト、大変ありがたく思います。
がんばって勉強します。
でもわからなかったらまた投稿するかもしれませんので
そのときはよろしくお願いいたします。
ありがとうございました。
No.2
- 回答日時:
こんにちは。
既に回答があるように、 Application.ScreenUpdating が最も手軽です。
他にはシートを指定して操作する方法もあります。
Sub Test1()
Worksheets("B").Range("B3:CP72").ClearContents
Worksheets("B").Range("B3:CP72").Font.Name = "MS Pゴシック"
Worksheets("B").Range("B3:CP72").Font.FontStyle = "標準"
For r = 3 To 72
For c = 2 To 94
Worksheets("B").Cells(r, c) = r
Next c
Next r
End Sub
また、ループ部分を Find 等にしてみるとIF条件の検索数によっては早くなるかも知れません。
Sub Test2()
Dim myRange As Range
Set myRange = Worksheets("B").Range("B3:CP72")
'myRange.ClearContents
myRange.Font.Name = "MS Pゴシック"
myRange.Font.FontStyle = "標準"
myRange.Replace What:="5", Replacement:="*", lookat:=xlWhole
myRange.Replace What:="6", Replacement:="★", lookat:=xlWhole
End Sub
No.1
- 回答日時:
こんばんわ。
バックグラウンドでマクロを実行と言うことでいいのですよね?
マクロの編集を選択し、構文の先頭行に
Application.ScreenUpdating = False
最終行に
Application.ScreenUpdating = True
を挿入してみてください
画面は、一つ一つ切り替わることなくマクロが終了しますよ。
参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=414650
この回答への補足
ありがとうございました。
モロに同じ質問が過去にあったのですね…すみません。
きっと簡単なコマンドがあると思ってました。
でもどうやって探せばいいのですかね…
コマンドを見て「あ~こんなことができるんだ…」というのはできますが、
その逆、つまり今回のように「こんなことがしたいんだけど、どういうコマンドを…」
というとき、皆さんはどうしていらっしゃるのでしょうか・・・?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vbaのvlookup関数エラー原因を教えていただけないでしょうか。 3 2022/04/25 16:16
- Visual Basic(VBA) userformでSheetを選択して開くコード 1 2023/05/15 16:27
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) ExcelVBAでDo Until loopのネスト、IF文を使って一致する物と一致しない物としたい 11 2022/12/24 17:46
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) EXCELのVBAについて 2 2023/07/05 17:17
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
エクセル グラフの軸の最小値最...
-
エクセルのマクロ機能で前のシ...
-
EXCELのセルへ、デジタル時計を...
-
Excel VBA のdebug(F8キー) が...
-
マクロボタンをある条件の時に...
-
マクロで、アクティブでないシ...
-
ワードマクロで画像を選択する方法
-
Excelマクロからのデータアクセ...
-
EXCEL2000 VBA マクロ実行中に...
-
エラーになってないのにVBA...
-
エクセル2000の保護について
-
エクセルVBA:エラー時にはマク...
-
ExcelVBAで、タイマー割り込み...
-
エクセルでマクロ実行中に任意...
-
Excelマクロでオプションボタン...
-
Wordの画面を左右にスクロール...
-
複数ファイルにある特定のシー...
-
AccessのテーブルデータをExcel...
-
TeraTermのマクロについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
マクロ 実行ボタンを押さずに...
-
Excelを開いた時に表示さ...
-
Excel VBA のdebug(F8キー) が...
-
エラーになってないのにVBA...
-
EXCELのセルへ、デジタル時計を...
-
複数ファイルにある特定のシー...
-
エクセル グラフの軸の最小値最...
-
モジュール内のマクロを全て実...
-
Wordの画面を左右にスクロール...
-
ワードからエクセルへ貼り付け...
-
エクセルのマクロ機能で前のシ...
-
EXCEL 複数のシートの同一の位...
-
Excelマクロでオプションボタン...
-
エクセルで複数のシートをまと...
-
VBAでEXCELに埋め込んだPDFを開...
-
【Excel VBA】エラー番号400
-
EXCEL2000 VBA マクロ実行中に...
-
エクセルでマクロ実行中に任意...
-
Wordで「原稿用紙○枚」を換算す...
おすすめ情報