Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(指定なし : 指定なし)
Rows.Countに関して
投稿日時: 17/11/14 07:53:32
投稿者: hmisato1123

よろしくお願いします。
 
仕事で以下のような表を作成しています。※名前は架空のものです。
  A  B       C D E F     
 1                        
 2  氏名      国語 社会    数学
 3  山田太郎    85    79    91    255
 4  野口雅美    89    65    70    224
 5  木村琢朗    欠席 81    92    173
 6  橋本大介    43    73    85    201
 7  山口ゆかり 92    82    89
 
実行すると新規に入力できるようにB8のセルを選択させるため、下記の記述をしました。
Sub SelectCell10()
    Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Select
End Sub
 
※B8からE8までが選択されるとbestなので、下記のような記述をするとエラーが表示されます。
Sub Selectcell12()
    Cells(Cells(Rows.Count, 2).Offset(1, 0), 5).Select
End Sub
 
どのように記述すれば良いのでしょうか。ご教示ください。
 
 

回答
投稿日時: 17/11/14 08:16:41
投稿者: mattuwan44

文法的に日本語に似ている部分がある(〜ので、文をどんどん繋いでいく)ので、
それを理解できると混乱がないかも。
 
シートの最後の行のB列のセルから上に見て最後のデータの1行下の5列分拡張したセル範囲
Sub test()
    Cells(Rows.Count, "B").End(xlUp).Offset(1).Resize(, 5).Select
End Sub
 
こんなかんじですかね。
 
こんな書き方も出来そうですね。、
Sub test2()
    With Range("B2").CurrentRegion
        .Rows(.Rows.Count + 1).Select
    End With
End Sub
 

回答
投稿日時: 17/11/14 08:17:15
投稿者: ピンク

>※B8からE8までが選択されるとbestなので、
Cells(Rows.Count, 2).End(xlUp).Offset(1).Resize(, 4).Select

投稿日時: 17/11/16 07:14:15
投稿者: hmisato1123

mattuwan44さん、ピンクさん
Resizeを使うんですね。
ありがとうございました。