Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1256 / 13644 ツリー ←次へ | 前へ→

【75406】離れた行の行No取得 亜矢 14/3/21(金) 7:41 質問[未読]
【75407】Re:離れた行の行No取得 kanabun 14/3/21(金) 9:47 発言[未読]
【75408】Re:離れた行の行No取得 亜矢 14/3/21(金) 10:16 発言[未読]
【75412】Re:離れた行の行No取得 kanabun 14/3/21(金) 17:51 発言[未読]
【75413】Re:離れた行の行No取得 kanabun 14/3/21(金) 18:52 発言[未読]
【75415】Re:離れた行の行No取得 亜矢 14/3/22(土) 8:45 お礼[未読]

【75406】離れた行の行No取得
質問  亜矢  - 14/3/21(金) 7:41 -

引用なし
パスワード
   いつもお世話になります。
 エクセル2007です。離れた行を何行か選択した時、その選択した行Noを
 取得する方法を教えて頂きたいと思います。選択行数は8行以内です
 よろしくお願いします。

【75407】Re:離れた行の行No取得
発言  kanabun  - 14/3/21(金) 9:47 -

引用なし
パスワード
   ▼亜矢 さん:

> 離れた行を何行か選択した時、その選択した行Noを
> 取得する方法を教えて頂きたいと思います。選択行数は8行以内です

「離れた行」というのは 「連続していない行」ということですか?

どう使うか分からないので、とりあえず、
行を選択して右クリックすると、 選択されている行番号を
カンマ区切りでメッセージするプロシージャ。

(シートモジュールに 書いてください)
Private Sub Worksheet_BeforeRightClick( _
    ByVal Target As Range, Cancel As Boolean)
  Dim Gyo As Range
  Dim i As Long
  ReDim LiN(1 To Target.Areas.Count) 'Area数
  
  Cancel = True
  For Each Gyo In Target.Areas
    i = i + 1
    LiN(i) = Gyo.Row
  Next
  MsgBox Join(LiN, ",")
End Sub

【75408】Re:離れた行の行No取得
発言  亜矢  - 14/3/21(金) 10:16 -

引用なし
パスワード
   ▼kanabun さん:
>▼亜矢 さん:
>
>> 離れた行を何行か選択した時、その選択した行Noを
>> 取得する方法を教えて頂きたいと思います。選択行数は8行以内です
>
>「離れた行」というのは 「連続していない行」ということですか?
>
>どう使うか分からないので、とりあえず、
>行を選択して右クリックすると、 選択されている行番号を
>カンマ区切りでメッセージするプロシージャ。
>
>(シートモジュールに 書いてください)
>Private Sub Worksheet_BeforeRightClick( _
>    ByVal Target As Range, Cancel As Boolean)
>  Dim Gyo As Range
>  Dim i As Long
>  ReDim LiN(1 To Target.Areas.Count) 'Area数
>  
>  Cancel = True
>  For Each Gyo In Target.Areas
>    i = i + 1
>    LiN(i) = Gyo.Row
>  Next
>  MsgBox Join(LiN, ",")
>End Sub
説明不足ですみません。
 連続行の場合は問題なく処理できていますが、Ctrlを押しながら行を
 複数離れて選択した場合の行Noを取得したいと思います。
  選択が終了するとシート作ってあるコマンドボタンで色色処理を行います。
  行Noは他の所でその行のデータ(15列ほど)を使用するために使います。
 よろしくお願いします。

【75412】Re:離れた行の行No取得
発言  kanabun  - 14/3/21(金) 17:51 -

引用なし
パスワード
   ▼亜矢 さん:

>  選択が終了するとシート作ってあるコマンドボタンで色色処理を行います。
>  行Noは他の所でその行のデータ(15列ほど)を使用するために使います。

>>  ReDim LiN(1 To Target.Areas.Count) 'Area数

>>  For Each Gyo In Target.Areas
>>    i = i + 1
>>    LiN(i) = Gyo.Row
>>  Next

↑で、Target は選択された行。
配列 LiN() のなかに、行番号が入ります。

【75413】Re:離れた行の行No取得
発言  kanabun  - 14/3/21(金) 18:52 -

引用なし
パスワード
   ▼kanabun さん:
>▼亜矢 さん:
>
>>  選択が終了するとシート作ってあるコマンドボタンで色色処理を行います。
>>  行Noは他の所でその行のデータ(15列ほど)を使用するために使います。
>
>>>  ReDim LiN(1 To Target.Areas.Count) 'Area数
>
>>>  For Each Gyo In Target.Areas
>>>    i = i + 1
>>>    LiN(i) = Gyo.Row
>>>  Next
>
>↑で、Target は選択された行。
> 配列 LiN() のなかに、行番号が入ります。

Targetという変数は ワークシートのイベント・プロシージャで自動で付けられた
名前なので、標準モジュールで処理するときは、これを Selection に代えれば
いいです。

  Dim Gyo as Range
  ReDim LNo(1 To Selection.Areas.Count) As Long

  For Each Gyo In Selection.Areas
    i = i + 1
    LNo(i) = Gyo.Row
  Next

Lno()配列に 選択された行の行番号が入っています。

【75415】Re:離れた行の行No取得
お礼  亜矢  - 14/3/22(土) 8:45 -

引用なし
パスワード
   ▼kanabun さん:
>▼kanabun さん:
>>▼亜矢 さん:
>>
>>>  選択が終了するとシート作ってあるコマンドボタンで色色処理を行います。
>>>  行Noは他の所でその行のデータ(15列ほど)を使用するために使います。
>>
>>>>  ReDim LiN(1 To Target.Areas.Count) 'Area数
>>
>>>>  For Each Gyo In Target.Areas
>>>>    i = i + 1
>>>>    LiN(i) = Gyo.Row
>>>>  Next
>>
>>↑で、Target は選択された行。
>> 配列 LiN() のなかに、行番号が入ります。
>
>Targetという変数は ワークシートのイベント・プロシージャで自動で付けられた
>名前なので、標準モジュールで処理するときは、これを Selection に代えれば
>いいです。
>
>  Dim Gyo as Range
>  ReDim LNo(1 To Selection.Areas.Count) As Long
>
>  For Each Gyo In Selection.Areas
>    i = i + 1
>    LNo(i) = Gyo.Row
>  Next
>
>Lno()配列に 選択された行の行番号が入っています。
ありがとうございました。解決しました。

1256 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free