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

あまり見ない行の非表示設定ができればと思います
B列に日付はあります、その日付から2週間以前を自動で(エクセルを開いたら)非表示にしたいです
1行目は項目がありますので表示のままが良いです
どこにどのようなコードで動くようになりますでしょうか?

A 回答 (2件)

No1です。



>10秒以上動かなくなりますね
シートの使用行数が非常に多いのか、マシンの性能がかなり低いかのどちらかだと推測します。

多少速くするなら、こんな感じでしょうか。

Dim d, v, u As Range, rw As Long
d = Int(Now() - 13)
v = Range(Cells(1, 2), Cells(Rows.Count, 2).End(xlUp)).Value
For rw = 2 To UBound(v)
If IsDate(v(rw, 1)) And v(rw, 1) < d Then _
If u Is Nothing Then Set u = Rows(rw) Else Set u = Union(Rows(rw), u)
Next rw
If Not u Is Nothing Then u.EntireRow.Hidden = True
    • good
    • 0
この回答へのお礼

ありがとうございますm(__)m

お礼日時:2024/03/16 09:28

こんばんは



こんな感じでしょうか?

 Dim d, v, rw As Long
 d = Int(Now() - 13)
 For rw = 2 To Cells(Rows.Count, 2).End(xlUp).Row
  v = Cells(rw, 2).Value
  If IsDate(v) And v < d Then Rows(rw).Hidden = True
 Next rw

※ すでに非表示になっている行は、条件外でも表示にはしません。

>自動で(エクセルを開いたら)非表示にしたいです
Workbook_Open() に登録してください。
    • good
    • 0
この回答へのお礼

回答ありがとうございますm(__)m
一応動きましたが毎回開くたびに非表示状態でも
同じ動きをする感じですかね?
10秒以上動かなくなりますね(;^_^A

お礼日時:2024/03/16 01:51

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

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


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