dポイントプレゼントキャンペーン実施中!

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

A 回答 (8件)

こんにちわ。

サンプルマクロを作ってみました。次のように操作してみて下さい。

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.ブックを保存終了し、再度そのブックを開く。

あなた様のやられたいことが実現していると思います。

もし、不都合な点がありましたら、遠慮なくお知らせ下さい。私でよろしければ、あなた様のやられたいことが実現できるまで一緒に考えたいと思います。 その際には、表の構成内容とあなた様のやられたいことを順を追って詳しくお知らせ下さい。
お手数をおかけいたしますが、よろしくお願いいたします。
    • good
    • 2
この回答へのお礼

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

お礼日時:2002/10/09 10:08

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のコードウインドウに、コピー&ペーストして使います。
    • good
    • 2
この回答へのお礼

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

お礼日時:2002/10/08 14:26

はじめまして。



サンプルマクロを作ってみました。以下のように操作してみて下さい。

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.ブックを保存終了し、再度そのブックを開く。

あなた様のやられたいことが実現していると思います。

もし、不都合な点がありましたら、遠慮なくお知らせ下さい。私でよろしければ、あなた様のやられたいことが実現できるまで一緒に考えたいと思います。
お手数をおかけいたしますが、よろしくお願いいたします。

この回答への補足

どうもありがとうございます。worksheetを開くと最終の入力セルに移動できました。欲を言えば、こんなのできますでしょうか?

入力された行がA412まであってA3の編集作業をして次に
A413の空白セル(A413)まで飛ぶやり方ですが、、
A413を指定するのではなくあくまでも次の空白セル(最終行)なのですが、、いろいろな方にアドバイスいただきましたが、私のやりたいことはそんな感じです。

どうかお知恵を拝借させてください
よろしくお願い致します。

補足日時:2002/10/07 12:58
    • good
    • 0

> VBAのコマンドボタンか何かで最終行(次に入力するセル)まで一発で移動


ということであれば、

Private Sub CommandButton1_Click()
Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Offset(1).Select
End Sub'           ~~~

とか、いかがでしょう。(1列目の例です。~~~の所が行数です。)

この回答への補足

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

補足日時:2002/10/07 13:05
    • good
    • 0

Ctrl+↓ (↑ → ← ↓)



は、連続する行・列に対して最後(最前)まで飛びますが、
途中でデータが抜けている(空白セル)と、そこの前まで
しか飛びません。


つまり、シートの最左・左上 A1 に飛ぶには、Ctrl+Home
ですから、その逆になります。
 
    • good
    • 0

private sub()


Range("A1").Serect //行きたい列
Selection.End(xlDown).Select

これではダメでしょうか?
    • good
    • 0

少なくとも、



Ctrl+End

で、最下行・最右セル

まではジャンプできます。

その、最下行・最右セルから、Home キー
で、最下行の A 列にシフトできます。
 
    • good
    • 0

コントロールキー(Ctrl)を押しながら、矢印キーの下(↓)を押すと、内容が詰まっている


最後のセルに飛ぶんですが、それでどうですか?
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A