質問 |
||
| 質問者:s-k-pooh | セルの移動(マクロ) | |
|---|---|---|
困り度:
|
今晩は! お世話になります。 エクセルで多量データ(500行以上)あります。 本来ならば、データ量が多い場合、アクセスを使用した方が良いのかもしれませんが、データを元にグラフ作成等行う為、エクセル使用しています。 そこで、500行以上の次行に入力する際、スクロールするのは面倒なので、ボタン一つで入力する先頭行に移行するマクロを作成したいのですが、まだ自分でプログラムを作成するのは難しく、本などで同じ目的のマクロを見つけ、移している程度です。 今回、同じ目的のマクロが見つからず、ショートカットキーで行うやり方の必ず漏れがなく入力される列(No.「A列」)にセルを選択し、”Ctrl+↓”で入力済みの最後尾に移動。その後”Enter"で次行、入力するセルに移るという事で、この行動を”マクロの記録”をしてみました。 マクロの記録 〜(A4「No.1」)のセルを選択 〜 ”Ctrl+↓” 〜 ”Enter" の順です。 例にA4=No.1でA4〜A6(No.1〜No.3)まで記入しました。 標準モジュールの内容は・・・ Sub セルの移動() ’ ’セルの移動Macro ’マクロ記録日 : XXXX / X / XX ユーザー名:XXXXXXX ’ ’Keyboard Shortcut:Ctrl+t ’ Range("A4").Select Selection.End(xlDown).Select Range("A7").Select End Sub ・・・と記入されています。 ですが、これでは Range("A7").Select と”A7”と指定されている為、 A7以降の行が入力されていても A7 に移行してしまいます。 これをA列のNo.(連番)が記入されている次行(連番が未記入の先頭行)に移動させるにはどこをどう修正すれば良いのでしょうか? お手数お掛けしますが、上記希望内容に相応しいプログラムのを教えて頂けると助かります。 初心者の為、宜しくお願いします。 |
|
質問投稿日時:08/03/24 22:13 質問番号:3891741 |
||
回答 |
|
| 回答者:suz83238 | A列だけ見るんなら Sub yyy() Range("A65536").End(xlUp).Offset(1, 0).Select End Sub |
|---|---|
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| |
回答日時:08/03/24 22:34 回答番号:No.3 |
|
| この回答への補足 | suz83238さん、再度回答ありがとうございます! とりあえず、空欄の無いセルの列は”A列”のみなので、A列重視の法がよいですよね。 途中、空欄のセルがあっても入力済みの最終行って読み取れるのですか? 全くの素人ですいません。 |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答良回答10pt |
|
| 回答者:suz83238 | 最終行の次という解釈でいいですか? それなら Sub xxx() ActiveSheet.Cells.SpecialCells(xlLastCell).Offset(1, 0).Select End Sub |
|---|---|
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| |
回答日時:08/03/24 22:32 回答番号:No.2 |
|
| この回答へのお礼 | suz83238さん、回答ありがとうございます! 早速会社で使用の為、明日やってみます。 もし、やってみて補足する時は、すいませんが宜しくお願い致します。 |
回答良回答20pt |
|
| 回答者:sakura9113 | Sub sample() Dim lastrow As Integer lastrow = Range("a65536").End(xlUp).Row Range("A" & lastrow + 1).Activate End Sub A列の最終行を取得して、その次の行をアクティブにします。 |
|---|---|
| 種類:回答 どんな人:一般人 自信:自信あり |
|
| |
回答日時:08/03/24 22:31 回答番号:No.1 |
|
| この回答へのお礼 | sakura9113さん、回答ありがとうございます! 早速会社で使用の為、明日やってみます。 もし、やってみて補足する時は、すいませんが宜しくお願い致します。 |