
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で質問しましょう!
この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
IF関数などを使って条件に合った「行」を削除するような機能はありますでしょうか?
Excel(エクセル)
-
9
エクセルVBAのEntireRow.Hiddenをスピードアップしたいのですが・・・。
Excel(エクセル)
-
10
EXCEL VBA 指定範囲内で特定の列に空白セルを含む行を非表示
Excel(エクセル)
-
11
エクセルで複数の特定の文字列をふくむ行を非表示にしたい。
Excel(エクセル)
-
12
空白でないセルの値を返す方法について
PowerPoint(パワーポイント)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DataGridViewでyyyy/MM/dd
-
エクセルVBAで機械の稼働時間を...
-
Eclipseの対応する括弧の強調表...
-
【VBA】土日をスキップして日付...
-
3人のじゃんけんのプログラム
-
ユーザーフォームのラベルに日...
-
【Excel VBA】条件に合った行の...
-
VBAのapplication.ontime メソ...
-
JSPからYYYYMMDDで日付入力する
-
テキストボックスにカレンダー...
-
エクセルのVBAで日付を検索し転...
-
コンボボックスに日付を表示する
-
VBA 日付、未来の日付はエラー...
-
今日より前の書き方 マクロ
-
ExcelVBAでSQLサーバの日付時刻...
-
VisualBasic6.0のFormat関数で...
-
スマホにYahooニュースが来ない...
-
iPhoneアプリのLINEの音が鳴ら...
-
iPhoneのプッシュ通知の過去履...
-
iPhoneの通知が何故か来なくな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipseの対応する括弧の強調表...
-
DataGridViewでyyyy/MM/dd
-
ユーザーフォームのラベルに日...
-
エクセルのVBAで日付を検索し転...
-
VisualBasic6.0のFormat関数で...
-
VB6.0 のformat関数について
-
JSPからYYYYMMDDで日付入力する
-
「eclipseで作るカレンダー(ス...
-
システム日付とは?
-
該当の日付以外を消去するプロ...
-
今日より前の書き方 マクロ
-
【VBA】土日をスキップして日付...
-
1本あたり○円と表示する時どの...
-
完全一致の検索
-
指定した日付が、その月の第何...
-
3人のじゃんけんのプログラム
-
コンボボックスに日付を表示する
-
excelのVBAについて、以下のコ...
-
VBA 表作成 続続
-
【Excel VBA】条件に合った行の...
おすすめ情報