• ベストアンサー

ExcelVBAで選択されてる行番号を取得する方法

Excelシートでどの行を選択してるのかをVBAで取得したいのです。 1行選択の場合や複数行選択。 あるいは飛び飛びでの選択もあります。 どうやって取得できるのでしょうか?

  • rally
  • お礼率61% (339/553)

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

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

取得したのをどうする(配列に取得する)のかわかりませんが、こんなのではどうでしょうか? Sub test() Dim r As Range For Each r In Selection.Rows MsgBox r.Row Next End Sub

rally
質問者

お礼

すばらしい回答です。ずばり解決です。 ありがとうございました! ネットで調べたんですが、見つからないですね~。 ちなみに、選択した行の文字列をクリップボードにコピーするという プログラムを作っていました。 かなり助かりました。

関連するQ&A

  • 選択行番号を取得して別シート貼り付ける方法

    VBAを使いsheet1の選択した行番号をsheet2のA1列に全て貼り付ける方法が分からなくて困っています。  ちなみに下記のVBAはsheet1上で実行するとメッセージボックスに選択行の数値が順番に表示されます。この選択行番号情報を全てsheet2のA1列に貼り付けたいのですが、どうすれば良いでしょうか?   選択行は最大400位になります。特にメッセージボックスに表示する必要はありませんので、メッセージボックス表示は不要です。 Sub 行番号取得() Dim r As Range For Each r In Selection.Rows MsgBox r.Row Next End Sub

  • Excel VBAでn行毎に行の選択

    Excel VBAでn行毎に行の選択 こんにちわ。 初めて質問をさせて頂きます。 今回ExcelのVBAを使ってあるシートを作成することになったのですが その過程で分からず、詰まっております。 色々調べてみたもののVBAの知識が浅いせいか 該当する様なものは見つかりませんでした。 実行したいのはタイトルの通りです。 例として10行毎に1行ずつ選択したい場合は下記の通りです。 A列 10行目←選択 ・ ・ 20行目←選択 ・ ・ 30行目←選択 ・ ・ 40行目←選択 実際にやりたいことは行を選択後に入力規則を入れたいだけなのですが 5000行近くあるので、一つ一つコードを書く場合 Range("A10,A20,A30,A40・・・").EntireRow.Select 結構な量になります・・・。 VBAなら他にもっと効率いいことができるのでは、と 自分なりに探してはいますが、どうしても見つからないので 皆様のお知恵をお借りしたいです。 よろしくお願いします。

  • 秀丸で行番号を複数選択する方法は

    秀丸で行番号をとびとびに複数選択したいのですが、 shiftボタンを押すと、一つ目の選択した行から二つ目の選択した行までの間の行も 選択されてしまい、Ctrlを押すとすべての文字列が選択されてしまいます。 WordやExcelのように、任意の行を複数選択するにはどうしたらよいのでしょうか?

  • 行番号を取得する関数

    シート内の一部を選択すると(クリック)行番号を取得できるようにしたいのですが、いろんな本を見ても載っていませんでした。 よろしくお願いします。

  • ExcelのVBAで行番号の数値を取得する方法

    ExcelのVBAで行番号の数値のみを取得する方法を教えて下さい。 (例) アクティブセルが「A55」の場合 ↓ 「55」という数字のみを変数に代入 よろしくお願いします。

  • ExcelVBA 選択したセルの取得

    こんにちは。ゆきのです。 選択した範囲のセルに対して、Excelのマクロで 1回ずつ処理を行いたいと考えています。 まずセル数を取得したいのですが、  「selection.cells.count」でセル数を取得すると、  同じセルが複数回カウントされます。 またセルの範囲を取得したいのですが、  「selection.address」で範囲を取得すると、  重複したセルを含んだそれぞれの範囲が取得されます。 例えば、  (1)  「$A$1」を「ctl」+「左クリック」で3回選択した状態だと、  「selection.address」が「$A$1,$A$1,$A$1」となり、  「selection.cells.count」は「3」となります。  (2)  「ctl」+「左クリック」で「A1:B1」「A1:A2」を連続で選択した状態だと、  「selection.address」が「$A$1:$B$1,$A$1:$A$2」となり、  「selection.cells.count」は「4」となります。  ($A$1が2回カウントされます) この時、同じセルを複数回カウントせずにセル数を 取得することはにできるのでしょうか? (上の例の場合ですと、(1)が「1」、(2)が「3」と取得したいです。) また、複数選択で範囲を取得する場合に選択が重複したセルを 除いた状態の範囲を取得することはできるのでしょうか? 処理したセルを記憶させるなどの方法は考えてみたのですが、 別の方法はないかと思い、質問させていただきました。 どなたか、教えて頂けませんか?? よろしくお願いします。

  • Word選択文字の行番号の取得

     いつも閲覧・勉強させていただいています. よろしくお願いいたします.  VBAの場合,Information(wdStartOfRangeRowNumber)でできていたのですが, VB2008でWORD文書を選択した場合,行番号って取れるのでしょうか??? 色々試しているつもりなのですがうまくいきません. もしお詳しい方がいらっしゃいましたら,どうぞよろしくお願いいたします.

  • EXCEL(VBA)で1行おきに行を選択する方法

    こんにちは。VBAは苦手なので教えてください。 EXCELのsheet1にあるリストに、下記マクロで1行おきに 空白行を挿入しました。 Sub test1() '隔行で空白行を挿入 Dim rw As Long 'セル For rw = Range("A1").End(xlDown).Row To 2 Step -1 Rows(rw).Insert Next End Sub 同じファイルのSheet2の1行目<Rows("1:1")>に、計算式が入力されています。 マクロで挿入した空白行全てを選択し、そこへSheet2の1行目のコピーを 貼り付けたいです。 ぜひ、良い方法を教えてください。

  • Spreadでの複数行選択

    VB6,Spread6で開発しています。 複数行の選択を許した場合、選択された行の取得方法を教えてください。 よろしくお願いします

  • ExcelVBAでのページ番号設定について

    Excel2010のVBAで資料作成のツールを検討しています。 印刷をする際、ページ番号をつけたいのですが ブック全体ではなくシート個別で印刷する場合もあるし、 ツールを実行するたびにページ数の増減もあるため、 どうやってVBAでページ番号をふったら良いのかわかりません。 アドバイスをお願いいたします。 なお、Excelファイルの中は複数シート、1シート複数ページの状態です。

専門家に質問してみよう