過去ログ

                                Page     264
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼クリックされたセルの値を取得するには...  ドキンちゃん 02/10/28(月) 15:16
   ┗Re:クリックされたセルの値を取得するには...  yu-ji 02/10/28(月) 16:11
      ┗Re:クリックされたセルの値を取得するには...  Jaka 02/10/28(月) 16:40
         ┗Re:クリックされたセルの値を取得するには...  ドキンちゃん 02/10/29(火) 8:22

 ───────────────────────────────────────
 ■題名 : クリックされたセルの値を取得するには...
 ■名前 : ドキンちゃん
 ■日付 : 02/10/28(月) 15:16
 -------------------------------------------------------------------------
   こんにちは!
クリックされたセルの値を取得する方法を教えてください。

Sheet1の列にデータが並んでいて、あるセルをクリックするとそこのデータをSheet2に出力したいのです。

今、Sheet1のデータに、ハイパーリンク(リンク先はダミーです)を設定して、Sheet1のモジュールに下記のように作成しました。

うまく、値をとってくるときと、そうでないときとあります。この方法は間違っているのでしょうか...
他に何かよい方法はないでしょうか。

Sheet1のデータは、1万件近くあってリストボックスなど使わず
クリックしたらマクロが動くようにしたいのです...
何かよい方法がありましたら教えてください<m(__)m>

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)

Dim hr ,aa,i As Variant

  Set hr = Target.Range
  aa = Cells(hr.Row, hr.Column).Value
  For i = 1 To 10
    Sheets("Sheet2").Cells(i, 1).Value = aa
  Next i

End Sub
 ───────────────────────────────────────  ■題名 : Re:クリックされたセルの値を取得するには...  ■名前 : yu-ji  ■日付 : 02/10/28(月) 16:11  -------------------------------------------------------------------------
   ▼ドキンちゃん さん:
>Sheet1のデータは、1万件近くあってリストボックスなど使わず
>クリックしたらマクロが動くようにしたいのです...
>何かよい方法がありましたら教えてください<m(__)m>

クリックイベントがないので、別物で代用するしかないのではないでしょうか?
(Worksheet_SelectionChangeイベントでは不向きっぽいので)
例えば、ダブルクリックイベントではダメなのですか?


ちなみに、

>Dim hr ,aa,i As Variant

全部Variantにしたいということなんでしょうけど、結果的には全部Variantに
なりますが、この記述方法だと型が明示されてるのはiだけで、hrとaaは型が省略
されたのでVariant型になっています。
例えば、

Dim hr,aa,i As Integer

とかという風に設定すると、hrとaaはVariant型、iだけInt型になります。
ご存知で省略されてたらいいのですが、ちょっと気になったので念のため。
 ───────────────────────────────────────  ■題名 : Re:クリックされたセルの値を取得するには...  ■名前 : Jaka  ■日付 : 02/10/28(月) 16:40  -------------------------------------------------------------------------
   こんにちは。

良くわかんないんですけど、こんな感じではダメでしょうか?
yu-ji さんと同じ考えで、Wクリックイベント。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
  Cancel = False
  Sheets("Sheet2").Range("A1:A10").Value = Target.Value
  Cancel = True
End Sub
 ───────────────────────────────────────  ■題名 : Re:クリックされたセルの値を取得するには...  ■名前 : ドキンちゃん  ■日付 : 02/10/29(火) 8:22  -------------------------------------------------------------------------
   Jaka さん、yu-ji さん こんにちは

ありがとうございました。お二人のおっしゃられるよう
Wクリックイベントでやってみます。

yu-jiさん、変数の定義ですが、知りませんでした...
勉強になりました。ありがとうございました。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 264