Excel VBA質問箱 IV

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

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


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

【63688】シート内ダブルクリックによるシート間データ取得 hiro 09/11/30(月) 11:22 質問[未読]
【63689】Re:シート内ダブルクリックによるシート間データ取得 seg 09/11/30(月) 11:51 発言[未読]
【63690】Re:シート内ダブルクリックによるシート間データ取得 kanabun 09/11/30(月) 11:57 発言[未読]
【63700】Re:シート内ダブルクリックによるシート間データ取得 hiro 09/12/1(火) 17:45 お礼[未読]

【63688】シート内ダブルクリックによるシート間データ取得
質問  hiro  - 09/11/30(月) 11:22 -

引用なし
パスワード
   お世話になります。
シートAをダブルクリックする事でシートBのrangeを取得しようとしたのですが
rangeのところで下記のようにエラーとなります。
どなたか解決法をお教えいただけないでしょうか?
 (シート内のプログラムです)
Public pWs1, pWs2 As Worksheet
Public cel1, cel2 As Range
Private Sub worksheet_beforedoubleclick(ByVal Target As Range, Cancel As Boolean)

Set pWs1 = Worksheets("A")
Set pWs2 = Worksheets("B")
Set cel1 = pWs2.Cells(1, 1)
Set cel2 = pWs2.Cells(2, 1)

If Target.Value <> Null Then

Else
   pWs2.Cells(3, 3) = Target.Value  
  
   ↓ここでエラーとなります RANGEが使えないのでしょうか?
  pWs2.Cells(3, 5) = Range(CELL1, CELL2)

End If


End Sub
 

【63689】Re:シート内ダブルクリックによるシート間データ取得
発言  seg  - 09/11/30(月) 11:51 -

引用なし
パスワード
   ▼hiro さん:
>rangeのところで下記のようにエラーとなります。
エラー内容を提示してください。

>   ↓ここでエラーとなります RANGEが使えないのでしょうか?
>  pWs2.Cells(3, 5) = Range(CELL1, CELL2)
CELL1とCELL2の中身は何ですか?

【63690】Re:シート内ダブルクリックによるシート間データ取得
発言  kanabun  - 09/11/30(月) 11:57 -

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

>   ↓ここでエラーとなります RANGEが使えないのでしょうか?
>  pWs2.Cells(3, 5) = Range(CELL1, CELL2)

Rangeの親オブジェクトが省略されているからじゃないですか?
シートのコードでRangeの前に何もつけないと、
自シート(Me)のことと解釈されます。
で、
  Me.Range(CELL1, CELL2)
は、自シートのRange(他シートのCELL1〜他シートのCELL2) の範囲
ということになり、
不条理ですよね?

※ご提示のコードには他にも気になる点がいくつかあります。
> Target.Value <> Null
とか、
> vPublic pWs1, pWs2 As Worksheet
とか。


【63700】Re:シート内ダブルクリックによるシート間データ取得
お礼  hiro  - 09/12/1(火) 17:45 -

引用なし
パスワード
   お礼が遅くなりすみませんでした。
送信ミスをしたようです。
おかげさまでうまくいきました。

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