次の方法で共有

VBA で新しい日付が表に挿入された時に、自動で次の古い日付の行が非表示になるようにしたい

Anonymous
2016-08-25T22:27:37+00:00

Excel 2013 にて、マクロを組みました。1週間おきに、新しい日付を挿入すると、表が1行加わるというものです。そのとき、もっとも古い日付を非表示にする設定をしたいのですが、具体的に行または列を指定して、〝.EntireRow.Hidden = True"として、古い日付の行を非表示にしています。

それで、新しい日付が表に挿入されたとき、自動的に次の古い日付の行が非表示になるようにしたいのですが、どのVBAの行に、どのような変数を、どのように設定すればよいか、教えていただけないでしょうか?

(変数 'x' を指定して、'x + 1' の行は非表示にできるのですが、次の 'x + 2' 以降の行を続けて非表示にするには、どのようなプログラムを組めばよいのか、ということです。)

どなたか、VBA に精通されている方、ご回答いただけないでしょうか。よろしくお願いします。 ≪tdkr≫

"**モデレーター注**

タイトルを編集しました。

編集前タイトル : VBA における変数の定義について; "

開発者テクノロジ | Visual Basic for Applications

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

4 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2016-08-31T22:49:13+00:00

    秋山 勇人 様、

    貴重な情報をありがとうございます。

    早速、教えていただいたフォーラムへ投稿してみます。

    tdkr_936XR

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2016-08-31T08:56:46+00:00

    ​きぬあさ さん、アドバイスありがとうございます。

    tdkr_936XR さん、こんにちは。

    マイクロソフト コミュニティ への投稿ありがとうございます。

    VBA コードの記述については、より専門的な MSDN の VBA フォーラムの方が、情報が集まりやすいと思いますので、そちらで情報を集めてみてはいかがでしょうか。

    MSDN フォーラム - Visual Basic for Application (VBA)

    よろしければご活用くださいね。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2016-08-27T06:29:54+00:00

    こんにちは。

    「x + 1」のように数値で指定するのではなく、Endプロパティを使用してはいかがでしょうか?

    Public Sub Sample()

      With ActiveWorkbook.Worksheets(1)

        'セルA1048576から上方向に最終行を検索

        Debug.Print .Cells(.Rows.Count, 1).End(xlUp).Row

        'セルA1から下方向に最終行を検索

        Debug.Print .Range("A1").End(xlDown).Row

      End With

    End Sub

    きぬあさ 様、

    ご丁寧なご回答をありがとうございます。

    早速、試してみて、大変有用であることが分かりました。

    ただ、検索し下方向の最終行が非表示にできるのですが、最終行から5行上の行を非表示にするには、どのようなコマンドが考えられるでしょうか?Endプロパティで、最終行から5行上の行を指定することは可能でしょうか?

    もし、可能なようでしたら、ご教授いただければ、ありがたいのですが。

    どうかよろしくお願いいたします。

    tdkr

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  4. Anonymous
    2016-08-26T02:13:38+00:00

    こんにちは。

    「x + 1」のように数値で指定するのではなく、Endプロパティを使用してはいかがでしょうか?

    Public Sub Sample()

      With ActiveWorkbook.Worksheets(1)

        'セルA1048576から上方向に最終行を検索

        Debug.Print .Cells(.Rows.Count, 1).End(xlUp).Row

        'セルA1から下方向に最終行を検索

        Debug.Print .Range("A1").End(xlDown).Row

      End With

    End Sub

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません