Excel VBA質問箱 IV

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

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


5615 / 13645 ツリー ←次へ | 前へ→

【49831】選択したセルのポジションを取得する方法を教えて下さい。 oscar900 07/6/24(日) 2:26 質問[未読]
【49833】Re:選択したセルのポジションを取得する方... ぱっせんじゃー 07/6/24(日) 8:34 発言[未読]
【49835】Re:選択したセルのポジションを取得する方... Michi迷い 07/6/24(日) 12:48 質問[未読]
【49836】Re:選択したセルのポジションを取得する方... ぱっせんじゃー 07/6/24(日) 12:56 発言[未読]
【49837】Re:選択したセルのポジションを取得する方... ぱっせんじゃー 07/6/24(日) 13:24 発言[未読]
【49838】Re:選択したセルのポジションを取得する方... ぱっせんじゃー 07/6/24(日) 13:26 発言[未読]
【49834】Re:選択したセルのポジションを取得する方... ponpon 07/6/24(日) 9:00 発言[未読]
【49839】Re:選択したセルのポジションを取得する方... Kein 07/6/24(日) 14:33 回答[未読]
【49853】Re:選択したセルのポジションを取得する方... Jaka 07/6/25(月) 9:38 発言[未読]
【49859】Re:選択したセルのポジションを取得する方... ponpon 07/6/25(月) 13:31 発言[未読]

【49831】選択したセルのポジションを取得する方法...
質問  oscar900  - 07/6/24(日) 2:26 -

引用なし
パスワード
   複数セルを選択した場合の、先頭セルと最終セルのRangeを取得したいのですが、Selectionを見てもどうも分かりません(Column=1、Row=1で、先頭セルのみしか分からないように思えます)。
例)A1〜E10までを選択した場合の、先頭セルA1と最終セルE10のColumnとRowはどこを見れば取得できるのでしょうか?

どなたか分かる方がいたら教えて下さい。。。

【49833】Re:選択したセルのポジションを取得する...
発言  ぱっせんじゃー  - 07/6/24(日) 8:34 -

引用なし
パスワード
   もっといい方法があるとは思いますが、
私は、↓の組み合わせで、選択セルの
一番左上のセル、一番右下のセルを
取得しています。

Selection.rows.Count
Selection.Columns.Count
Selection.Reszie(1,1)

【49834】Re:選択したセルのポジションを取得する...
発言  ponpon  - 07/6/24(日) 9:00 -

引用なし
パスワード
   ぱっせんじゃーさんからすでに回答がありますが、
こんなのでも
Sub test()
  
  With Selection
   MsgBox .Cells(1).Address & vbCrLf & _
       .Cells(.Cells.Count).Address
  End With

End Sub

【49835】Re:選択したセルのポジションを取得する...
質問  Michi迷い  - 07/6/24(日) 12:48 -

引用なし
パスワード
   ▼ぱっせんじゃー さん:
>もっといい方法があるとは思いますが、
>私は、↓の組み合わせで、選択セルの
>一番左上のセル、一番右下のセルを
>取得しています。
>
>Selection.rows.Count
>Selection.Columns.Count
>Selection.Reszie(1,1)

う〜ん、美味く動かない・・・
何がおかしいか?なぁ・・・

【49836】Re:選択したセルのポジションを取得する...
発言  ぱっせんじゃー  - 07/6/24(日) 12:56 -

引用なし
パスワード
   このまま実行してもだめですよ。
それぞれの意味が分かったら、
どう組み合わせたらいいか分かると思います。

【49837】Re:選択したセルのポジションを取得する...
発言  ぱっせんじゃー  - 07/6/24(日) 13:24 -

引用なし
パスワード
   答えを書いちゃうと、↓のようなかんじです。

MsgBox Selection.Resize(1, 1).Address & vbCrLf & _
     Selection.Resize(1, 1).Offset(Selection.Rows.Count - 1, _
     Selection.Columns.Count - 1).Address

【49838】Re:選択したセルのポジションを取得する...
発言  ぱっせんじゃー  - 07/6/24(日) 13:26 -

引用なし
パスワード
   でも、
>複数セル

というのが、複数セル範囲、と言う意味でしたら、
つまり、連続したセル範囲でなくて、飛んだセル範囲
でしたら、私のコードは使えません。

【49839】Re:選択したセルのポジションを取得する...
回答  Kein  - 07/6/24(日) 14:33 -

引用なし
パスワード
   同じ内容のコードですが、除外条件のチェックを追加して

Sub MyCell_Ad()
  Dim TLAd As String, BRAd As String
 
  If TypeName(Selection) <> "Range" Then Exit Sub
  With Selection
   If .Areas.Count > 1 Then Exit Sub
   TLAd = .Cells(1).Address(0, 0)
   BRAd = .Cells(.Cells.Count).Address(0, 0)
  End With
  MsgBox "左上 = " & TLAd & vbLf & "右下 = " & BRAd
End Sub

【49853】Re:選択したセルのポジションを取得する...
発言  Jaka  - 07/6/25(月) 9:38 -

引用なし
パスワード
   >複数セルを選択した場合の、先頭セルと最終セルのRangeを取得したいのですが、
この複数セルというのがいまいち良く解りませんが、1つの選択範囲という事なら。
目安箱も見てね。

【78】あるセル範囲の左上のセルと右下のセルアドレスの取得 
Http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=78;id=FAQ

・とりあえず、ponponさんの下に付けされてもらいました。

【49859】Re:選択したセルのポジションを取得する...
発言  ponpon  - 07/6/25(月) 13:31 -

引用なし
パスワード
   目安箱のどこかにJakaさんが書いていたと記憶していたのですが、
老眼のため見つけられませんでした。

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