• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel VBAの非表示について(初心者))

Excel VBAの非表示方法とは?初心者向けの解説

このQ&Aのポイント
  • Excel VBAを勉強中の初心者の方に向けて、A列の日付を非表示する方法について解説します。指定した日付から昨日までの範囲を非表示にし、今日の日付を先頭に表示する方法を紹介します。
  • Findメソッドを使用して昨日の日付が入っているセルを検索し、A1セルから昨日のセルまでを非表示にする方法について詳しく説明します。また、別の方法として、セルの範囲を指定して非表示にする方法も紹介します。
  • Excel VBAのコードを使用して、A列の日付を非表示にする方法についてご説明しました。ぜひ、試してみてください。もしわからない部分があれば、遠慮なく質問してください。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.2

おしいですね Rows("1:x").Hidden = True x まで " で囲むと x も文字列として扱われてしまいますのでエラーになります。 Rows("1:" & x).Hidden = True にしてください。

mihimarumaru
質問者

お礼

実際に自分の書いたコードを添削していただけるのが一番身に付くようで有難く思っています。ありがとうございます。 その上で他のより良い方法もみなさんに教えていただけたのでとても参考になりました。みなさん、ありがとうございました。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.3

質問者のコードの修正回答は、既に出ている。 それとは別に、参考に Sub test01() Range("A2", Range("A1:A65536").Find(What:=Date - 1)).Select Selection.EntireRow.Hidden = True End Sub のように変数も必要なく、3行にも出来る。A1セルは見出し文言とみて残した。

mihimarumaru
質問者

お礼

すばらしいです。 とても参考になります。 ありがとうございました。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんにちは! 色々方法はあるかと思います。 FINDメソッドではなく、For~Nextでの方法です。 一例です。 Sub test() Dim i As Long For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row If Cells(i, 1) < DateValue(Date) Then Rows(i).Hidden = True End If Next i End Sub こんな感じではどうでしょうか?m(__)m

mihimarumaru
質問者

お礼

なるほど。全く思い付きませんでした。とても参考になります。 ありがとうございます。

関連するQ&A