
1か月の予定を入力する表を作りました。
1日から31日まで縦に並んでいて1日分31行ずつ使用しています。
具体的には
6行目が1日でA6セルに「3/1」が入っています。
7行目から36行目までが予定入力行で、B列に1~30の連番が振られています。
37行目に「3/2」
38行目から67行目のB列に1~30の連番。
以降、31日まで繰り返し。
縦スクロールが必要な長い表になってしまうため、
必要に応じてきゅっと縮めた表示をしたいです。
以下の条件で表示させたい場合、全行に対して、.Rows.Hidden TRUE、FALSEで制御するよりも効率良い方法は無いでしょうか?
日付と1~5まで表示(それ以外は非表示)
日付と1~10まで表示(それ以外は非表示)
日付と1~20まで表示(それ以外は非表示)
日付と1~30まで表示(つまり全部表示)
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
No1です。
>切り替わるのに2,3秒要し、もっさり感が気になります
1000行分で試してみましたが、私の環境では一瞬ですね。
仮に、通常の手操作で「ユーザー設定画面」を呼び出しても、2、3秒もかかってしまうってことですよね?
環境の影響が大きいと思いますので、もしもこれで2、3秒もかかっている様だとすると、1行ずつ制御する方式だとものすごく時間がかかったりしていませんか?
No.2
- 回答日時:
・以下の式を入れる
C6セル:=IF($B6<=5,1,0)
D6セル:=IF($B6<=10,1,0)
E6セル:=IF($B6<=20,1,0)
・7行目以下に式をコピーする
・フィルタで絞り込む
No.1
- 回答日時:
こんにちは
>全行に対して、.Rows.Hidden TRUE、FALSEで制御するよりも効率良い方法は無いでしょうか?
「効率が良い」の意味によります。
実行の効率から言えば、1行々々を制御するよりも、行をまとめて一気に処理したほうが効率が良いと言えるのかも知れません。
(シート操作は個別操作よりもまとめる方が速いので・・)
処理の効率はどのようなロジックで制御するかによるところの方が影響は大きそうな気がします。
とは言え、たかだか1000行程度の表示/非表示なので、たしした差はないものと想像します。
コードの長さ(?)で言うのなら、「ユーザー設定ビュー」を利用して
ThisWorkbook.CustomViews("hoge").Show
のような1行にしてしまうのが、一番短くて済むと言えるかもしれません。
(実行速度的にも速いと思われます)
ありがとうございます。
ユーザ設定ビューで好みの表示毎に名前を付け、
ThisWorkbook.CustomViews("hoge").Show
で切り替えるようにしてみましたところ、
ソースは短くて分かりやすいのですが、
切り替わるのに2,3秒要し、もっさり感が気になります。
.Rows.Hidden TRUE で行グループ単位で切り替えた方が、
パパっとレスポンスよく切り替わるのでしょうか。
ほぼ瞬時に切り替わるのが理想です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】リボン、行列、数式・ステータスバを非表示に 4 2022/12/12 07:32
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) ExcelにおけるVLOOKUPでの祝日表示について 5 2022/09/18 22:23
- Excel(エクセル) 【Excel質問】 「本日の日付」から指定条件を満たす営業日経過後の日数を表示させる関数式 3 2022/06/06 23:28
- Excel(エクセル) エクセルでセルの日付を和暦表示設定にしたらおかしなことに? 3 2022/05/25 11:47
- Visual Basic(VBA) 【VBA】データを入力後に,同一シート内に履歴として転記するVBAコードを教えていただきたいです。 3 2022/11/16 01:37
- Visual Basic(VBA) VBAで列の再表示設定 1 2023/04/25 10:19
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/01/10 09:15
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Excel(エクセル) エクセルの祝日に色が反映しない 4 2022/05/18 09:58
このQ&Aを見た人はこんなQ&Aも見ています
-
指定した条件で行セルを非表示にするVBAについて
Visual Basic(VBA)
-
エクセルで特定の列が0表示の場合、その行を非表示にしたい
Excel(エクセル)
-
条件に応じて特定の行を非表示にしたい
Excel(エクセル)
-
-
4
エクセルで特定の値を含む列のみVBAで非表示にしたい
Excel(エクセル)
-
5
特定のセルが空白だったら、その行を非表示にしたい。。。
Visual Basic(VBA)
-
6
EXCELマクロで、ある列の値が0の場合、非表示/表示ボタンで該当列を非表示切り替えしたいんです。
Excel(エクセル)
-
7
エクセルで特定の文字列が入った行を非表示にしたい
Excel(エクセル)
-
8
エクセルVBAのEntireRow.Hiddenをスピードアップしたいのですが・・・。
Excel(エクセル)
-
9
セルの結果でマクロ実行
Visual Basic(VBA)
-
10
エクセルのマクロをセルの値に応じて自動起動したい
Visual Basic(VBA)
-
11
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
12
エクセルで複数の特定の文字列をふくむ行を非表示にしたい。
Excel(エクセル)
-
13
EXCEL VBA 指定範囲内で特定の列に空白セルを含む行を非表示
Excel(エクセル)
-
14
UserForm1.Showでエラーになります。
工学
-
15
特定のセルが空白の行を非表示にするマクロについて
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Eclipseの対応する括弧の強調表...
-
防衛機制の種類を教えてくださ...
-
今日より前の書き方 マクロ
-
DateTimePickerを西暦表示にす...
-
DataGridViewでyyyy/MM/dd
-
ExcelVBAでSQLサーバの日付時刻...
-
excelのVBAについて、以下のコ...
-
VB6で時刻の範囲に入っているか...
-
VisualBasic6.0のFormat関数で...
-
コンボボックスに日付を表示する
-
ノートパソコン タスクバー 日付。
-
ユーザーフォームのラベルに日...
-
VBAのvalueとvalue2の違いに...
-
VBA:日付をシリアル値にできる...
-
C++で日付判定を行いたい!!
-
Excel VBA で入社日から今日迄...
-
VBAで日付入力しているのですが
-
1本あたり○円と表示する時どの...
-
テキストボックスにカレンダー...
-
最近、iPhoneがおかしいです 私...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipseの対応する括弧の強調表...
-
人をはめた人は 自分に返ってく...
-
DataGridViewでyyyy/MM/dd
-
エクセルのVBAで日付を検索し転...
-
ユーザーフォームのラベルに日...
-
VisualBasic6.0のFormat関数で...
-
コンボボックスに日付を表示する
-
テキストボックスにカレンダー...
-
1本あたり○円と表示する時どの...
-
指定した日付が、その月の第何...
-
VBAで当月の1日を表示するには...
-
VBA 日付・時刻の判別 時刻を認...
-
今日より前の書き方 マクロ
-
テキストボックスに今日の日付...
-
システム日付とは?
-
DateTimePickerを西暦表示にす...
-
JSPからYYYYMMDDで日付入力する
-
C++で日付判定を行いたい!!
-
ExcelVBAでSQLサーバの日付時刻...
-
VBでDate型の大小比較がうまく...
おすすめ情報