• ベストアンサー

excelで入力の最終行に移動するには

excelで上から順に入力していきます。次第に行が増えて400行とかなってしまうんですが、それをVBAのコマンドボタンか何かで最終行(次に入力するセル)まで一発で移動できませんか? 大変困っていますのでよろしくお願い致します

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

  • ベストアンサー
回答No.7

こんにちわ。サンプルマクロを作ってみました。次のように操作してみて下さい。 1.データの入力されているブックを開き、CTR+F11キーを押してVBE画面を表示させる。 2.VBAProjectの下にあるThisWokrkbookにカーソルを合わせダブルクリックする。 3.ThisWorkbookのコードエディター(右側の白い部分)が開くので、そこに下記のコードをコピー・ペーストする。 Private Sub Workbook_Open() Dim myCell As String myCell = ThisWorkbook.Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Address If myCell = "$A$1" Then ThisWorkbook.Worksheets(1).Range("A1").Select Else ThisWorkbook.Worksheets(1).Range(myCell).Offset(1, 0).Select End If End Sub Private Sub Workbook_SheetActivate(ByVal Sh As Object) Dim myCell As String myCell = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Address If myCell = "$A$1" Then ActiveSheet.Range("A1").Select Else ActiveSheet.Range(myCell).Offset(1, 0).Select End If End Sub 4.VBAProjectの下にあるSheet1にカーソルを合わせダブルクリックする。 5.Sheet1のコードエディター(右側の白い部分)が開くので、そこに下記のコードをコピー・ペーストする。 Private Sub Worksheet_Change(ByVal Target As Range) Dim myRow As Long If Target.Address = "$A$3" Then If Target.Value <> "" Then myRow = Cells(Rows.Count, 1).End(xlUp).Row If Cells(myRow, 1).End(xlToRight).Column _ = Cells(myRow - 1, Columns.Count).End(xlToLeft).Column Then Cells(myRow + 1, 1).Select Else Cells(myRow, Columns.Count).End(xlToLeft).Offset(0, 1).Select End If End If End If End Sub 6.ブックを保存終了し、再度そのブックを開く。 あなた様のやられたいことが実現していると思います。 もし、不都合な点がありましたら、遠慮なくお知らせ下さい。私でよろしければ、あなた様のやられたいことが実現できるまで一緒に考えたいと思います。 その際には、表の構成内容とあなた様のやられたいことを順を追って詳しくお知らせ下さい。 お手数をおかけいたしますが、よろしくお願いいたします。

Hugh
質問者

お礼

完璧にできました。 どうもありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (7)

  • TTak
  • ベストアンサー率52% (206/389)
回答No.8

Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Offset(1).Select で、A列の最終行の次の空白セルに移動しますよ。もし、セル編集後にどの位置からでも即座にその列の最終行の次の空白セルに移動したいというのであれば、次のコードになります。 Private Sub Workbook_SheetChange(ByVal Sh As Object, _ ByVal Target As Range) c = Range(Target.Address).Column Cells(ActiveSheet.Rows.Count, c).End(xlUp).Offset(1).Select End Sub vbエディタのThisWorkbookのコードウインドウに、コピー&ペーストして使います。

Hugh
質問者

お礼

おかげさまでできました どうもご親切にありがとうございました

すると、全ての回答が全文表示されます。
回答No.6

はじめまして。 サンプルマクロを作ってみました。以下のように操作してみて下さい。 1.データの入力されているブックを開き、CTR+F11キーを押してVBE画面を表示させる。 2.VBAProjectの下にあるThisWokrkbookにカーソルを合わせダブルクリックする。 3.ThisWorkbookのコードエディター(右側の白い部分)が開くので、そこに下記のコードをコピー・ペーストする。 Private Sub Workbook_Open() Dim myCell As String myCell = ThisWorkbook.Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Address If myCell = "$A$1" Then ThisWorkbook.Worksheets(1).Range("A1").Select Else ThisWorkbook.Worksheets(1).Range(myCell).Offset(1, 0).Select End If End Sub Private Sub Workbook_SheetActivate(ByVal Sh As Object) Dim myCell As String myCell = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Address If myCell = "$A$1" Then ActiveSheet.Range("A1").Select Else ActiveSheet.Range(myCell).Offset(1, 0).Select End If End Sub 4.ブックを保存終了し、再度そのブックを開く。 あなた様のやられたいことが実現していると思います。 もし、不都合な点がありましたら、遠慮なくお知らせ下さい。私でよろしければ、あなた様のやられたいことが実現できるまで一緒に考えたいと思います。 お手数をおかけいたしますが、よろしくお願いいたします。

Hugh
質問者

補足

どうもありがとうございます。worksheetを開くと最終の入力セルに移動できました。欲を言えば、こんなのできますでしょうか? 入力された行がA412まであってA3の編集作業をして次に A413の空白セル(A413)まで飛ぶやり方ですが、、 A413を指定するのではなくあくまでも次の空白セル(最終行)なのですが、、いろいろな方にアドバイスいただきましたが、私のやりたいことはそんな感じです。 どうかお知恵を拝借させてください よろしくお願い致します。

すると、全ての回答が全文表示されます。
  • TTak
  • ベストアンサー率52% (206/389)
回答No.5

> VBAのコマンドボタンか何かで最終行(次に入力するセル)まで一発で移動 ということであれば、 Private Sub CommandButton1_Click() Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Offset(1).Select End Sub'           ~~~ とか、いかがでしょう。(1列目の例です。~~~の所が行数です。)

Hugh
質問者

補足

アドバイスありがとうございます。 大変参考になりました。 移動したい場所は最終の空白セルなのですが、どうやって指定したらいいのでしょうか? たびたび申し訳ありませんが、ご指導お願い致します

すると、全ての回答が全文表示されます。
  • Zz_zZ
  • ベストアンサー率44% (756/1695)
回答No.4

Ctrl+↓ (↑ → ← ↓) は、連続する行・列に対して最後(最前)まで飛びますが、 途中でデータが抜けている(空白セル)と、そこの前まで しか飛びません。 つまり、シートの最左・左上 A1 に飛ぶには、Ctrl+Home ですから、その逆になります。  

すると、全ての回答が全文表示されます。
  • aieeen
  • ベストアンサー率12% (7/54)
回答No.3

private sub() Range("A1").Serect //行きたい列 Selection.End(xlDown).Select これではダメでしょうか?

すると、全ての回答が全文表示されます。
  • Zz_zZ
  • ベストアンサー率44% (756/1695)
回答No.2

少なくとも、 Ctrl+End で、最下行・最右セル まではジャンプできます。 その、最下行・最右セルから、Home キー で、最下行の A 列にシフトできます。  

すると、全ての回答が全文表示されます。
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

コントロールキー(Ctrl)を押しながら、矢印キーの下(↓)を押すと、内容が詰まっている 最後のセルに飛ぶんですが、それでどうですか?

すると、全ての回答が全文表示されます。

関連するQ&A