アプリ版:「スタンプのみでお礼する」機能のリリースについて

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件)

No1です。



>切り替わるのに2,3秒要し、もっさり感が気になります
1000行分で試してみましたが、私の環境では一瞬ですね。
仮に、通常の手操作で「ユーザー設定画面」を呼び出しても、2、3秒もかかってしまうってことですよね?

環境の影響が大きいと思いますので、もしもこれで2、3秒もかかっている様だとすると、1行ずつ制御する方式だとものすごく時間がかかったりしていませんか?
    • good
    • 0

・以下の式を入れる


C6セル:=IF($B6<=5,1,0)
D6セル:=IF($B6<=10,1,0)
E6セル:=IF($B6<=20,1,0)
・7行目以下に式をコピーする
・フィルタで絞り込む
    • good
    • 0

こんにちは



>全行に対して、.Rows.Hidden TRUE、FALSEで制御するよりも効率良い方法は無いでしょうか?

「効率が良い」の意味によります。
実行の効率から言えば、1行々々を制御するよりも、行をまとめて一気に処理したほうが効率が良いと言えるのかも知れません。
(シート操作は個別操作よりもまとめる方が速いので・・)
処理の効率はどのようなロジックで制御するかによるところの方が影響は大きそうな気がします。
とは言え、たかだか1000行程度の表示/非表示なので、たしした差はないものと想像します。

コードの長さ(?)で言うのなら、「ユーザー設定ビュー」を利用して
 ThisWorkbook.CustomViews("hoge").Show
のような1行にしてしまうのが、一番短くて済むと言えるかもしれません。
(実行速度的にも速いと思われます)
    • good
    • 1
この回答へのお礼

ありがとうございます。
ユーザ設定ビューで好みの表示毎に名前を付け、
ThisWorkbook.CustomViews("hoge").Show
で切り替えるようにしてみましたところ、
ソースは短くて分かりやすいのですが、
切り替わるのに2,3秒要し、もっさり感が気になります。

.Rows.Hidden TRUE で行グループ単位で切り替えた方が、
パパっとレスポンスよく切り替わるのでしょうか。
ほぼ瞬時に切り替わるのが理想です。

お礼日時:2023/03/18 13:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A