Excel VBA質問箱 IV

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

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


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

【20423】セルの位置 コウ 04/12/8(水) 20:00 質問[未読]
【20424】Re:Findメソッドによるセル位置の取得 かみちゃん 04/12/8(水) 20:10 回答[未読]
【20425】Re:セルの位置 ichinose 04/12/8(水) 20:13 回答[未読]
【20434】Re:セルの位置 コウ 04/12/9(木) 8:39 お礼[未読]

【20423】セルの位置
質問  コウ  - 04/12/8(水) 20:00 -

引用なし
パスワード
   よろしくお願いします。
Findメソッドを使用すると、セルの値が取得できますが、
セルの位置(A1とかC3)を取得することはできるのでしょうか?

【20424】Re:Findメソッドによるセル位置の取得
回答  かみちゃん  - 04/12/8(水) 20:10 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>Findメソッドを使用すると、セルの値が取得できますが、
>セルの位置(A1とかC3)を取得することはできるのでしょうか?

Findメソッドのヘルプはご覧になりましたか?
「指定されたセル範囲の中で特定の情報を検索し、情報が見つかった最初のセル (Range オブジェクト) を返します。」と書かれていると思います。

また、使用例に、

With Worksheets(1).Range("a1:a500")
    Set c = .Find(2, lookin:=xlValues)
    If Not c Is Nothing Then
      firstAddress = c.Address

とありますから、上記であれば、
c.Address
で取得できます。

【20425】Re:セルの位置
回答  ichinose  - 04/12/8(水) 20:13 -

引用なし
パスワード
   ▼コウ さん:
こんばんは。

>よろしくお願いします。
>Findメソッドを使用すると、セルの値が取得できますが、
>セルの位置(A1とかC3)を取得することはできるのでしょうか?
Findメソッドは、見つかったセルをオブジェクトとして返すメソッドですから
Addressプロパティを使用すると知る事ができます。

'==============================================
Sub main()
  Dim f_rng As Range
 
  Range("a20:j20").Value = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
  ' ↑Sampleデータ作成
  Set f_rng = Cells.Find(2)
  If Not f_rng Is Nothing Then
   MsgBox f_rng.Address
   End If
End Sub

確認して下さい。

【20434】Re:セルの位置
お礼  コウ  - 04/12/9(木) 8:39 -

引用なし
パスワード
   どうも有難うございます。
勉強不足でした。

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