• ベストアンサー

ExcelVBA「何か入ってるセルまでジャンプ」

ExcelのVBAでアプリケーションをつくっており、何かが入力されているセルまでカーソルをジャンプさせたいのですが、その場合どう指定すれば良いのか教えてください。

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

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.5

> ちなみに、ひとつの列の中で下へ下へ、「空白でない」セルにジャンプしたいです。 これは最初に提示すべき条件ですよ。 If Selection.End(xlDown).Row < Rows.Count Then   Selection.End(xlDown).Select Else   MsgBox ("これより下にはデータなし") End If [Ctrl]+[↓]と同じことをやっています。

uekido
質問者

お礼

ありがとうございます。 本当ですね、きちんと最初にご説明するべきでした。 お答えピッタリでした。助かりました!

その他の回答 (5)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.6

NO1,3です。 >ちなみに、ひとつの列の中で下へ下へ、「空白でない」セルにジャンプしたいです。  ⇒後だしジャンケンでは負けますね。   単にCtrl+↓キー押下でよろしいのではないでしょうか。   無理やりです。   必要な列の先頭にカーソルを合わせて、マクロ実行してみて下さい。   Sub sample()    Application.SendKeys ("^{down}"), True   End Sub

uekido
質問者

お礼

ありがとうございます。 説明不手際で申し訳ないです・・・。あせってました。

回答No.4

自身なし Sub ジャンプする()    If Selection.Value = "" Then        Selection.End(xlDown).Select        If Selection.Row = Rows.Count Then Selection.End(xlUp).Select    End If End Sub 空白セルで実行してくだい

uekido
質問者

お礼

ありがとうございます。 確かに空白でないセルでやるとエラーになります(笑) 今回の私の問題では使えませんでしたが、勉強になりました!

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

NO1です。 一部コードが誤っていましたので訂正します。 Dim pos As Range Set pos = ActiveSheet.Cells.Find("*") If Not pos Is Nothing Then pos.Select

uekido
質問者

お礼

かさねてありがとうございます。

  • kybo
  • ベストアンサー率53% (349/647)
回答No.2

A列でA1スタートの場合。 Sub macro() Dim R As Range Set R = Range("A:A").Find("*", Range("A1")) If Not R Is Nothing Then Application.Goto R End If End Sub

uekido
質問者

お礼

ありがとうございます! 参考にいたします。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

一例です。 Dim pos As Range Set pos = ActiveSheet.Cells.Find("*") If Not a Is Nothing Then pos.Select

uekido
質問者

お礼

ありがとうございます。 いただいたものをそのまま実行すると、3行目がエラーで反転表示になります。 申し訳ないのですが、各行の意味をコメントでつけていただけないでしょうか? よろしくお願いいたします。

uekido
質問者

補足

ちなみに、ひとつの列の中で下へ下へ、「空白でない」セルにジャンプしたいです。

関連するQ&A