Excel VBA質問箱 IV

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

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


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

【80592】Sheet間の転記について tarutaru 19/3/16(土) 18:21 質問[未読]
【80593】Re:Sheet間の転記について マナ 19/3/16(土) 20:18 発言[未読]
【80594】Re:Sheet間の転記について tarutaru 19/3/17(日) 11:12 質問[未読]
【80596】Re:Sheet間の転記について マナ 19/3/17(日) 12:07 発言[未読]
【80598】Re:Sheet間の転記について tarutaru 19/3/17(日) 12:47 お礼[未読]

【80592】Sheet間の転記について
質問  tarutaru  - 19/3/16(土) 18:21 -

引用なし
パスワード
   またお世話になります。

Sheet1に「データ表」があり、Sheet2に「印刷用の表」を用意しています。
Sheet1の「データ表」はRange(B3:N3)の範囲で、100行ほどあり、「印刷用の表」にはA4用紙に縦印刷を考えているため、Sheet1「データ表」のセル・データを格納するセルが不規則に並んでいます。

Sheet1のRange(B3)に用意している「建物名」セルをダブル・クリックすると、Sheet2の「印刷用の表」に移動出来るようにしているのですが、

質問は、「建物名」セルをダブル・クリックした際に、Sheet2に移動するとともに、その行のデータが不規則に並んでいる「印刷用の表」セルに転記出来るようにしたい。
というものです。

どなたかお詳しい方、御教示お願いいたします。

【80593】Re:Sheet間の転記について
発言  マナ  - 19/3/16(土) 20:18 -

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

>Sheet1のRange(B3)に用意している「建物名」セルをダブル・クリックすると、Sheet2の「印刷用の表」に移動出来るようにしているのですが、

そのコードを提示お願いします。
>
>質問は、「建物名」セルをダブル・クリックした際に、Sheet2に移動するとともに、その行のデータが不規則に並んでいる「印刷用の表」セルに転記出来るようにしたい。

具体例を挙げて、どのセルを、どこに転記したいのか説明お願いします。

【80594】Re:Sheet間の転記について
質問  tarutaru  - 19/3/17(日) 11:12 -

引用なし
パスワード
   マナ様

早速のご返信ありがとうございます。
今回もお手数をおかけしますが、よろしくお願いいたします。

ご指摘の部分ですが、

Sheet1のB3から、B128(余裕を持って128にしています)まで、「建物名」が入力されています。その「建物名」セルをダブル・クリックするとSheet2( A1)に移動する構文は次のように書いています。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range,Cancel As Boolean)

If Intersect(Target,Range(B3:B128)) Is Nothing Then Exit Sub
Application.Goto sheets(2).Range(“A1”)
 Cancel = True

End Sub

例として、Sheet1のC3 には、「所在地」を、D3には「所有者」を、E3には「連絡先」を、F3には「建築年月日」を、G3には「構造」を入力するようにしてあります。※入力はフォームまたは、セルに直入力。

それを、Sheet2のセルに(以下のように)ダブル・クリックでSheet1からSheet2に移動するとともに、転記完了となるようにしたいのです。

Sheet1         Sheet2
 B3     →    A1   
 C3     →    B1
 D3     →    A2
 E3     →    B2
 F3     →    C1
 G3      →     D1
 H3      →     C2

マナ様、お忙しい中、申し訳ありませんが、よろしくお願いいたします。

【80596】Re:Sheet間の転記について
発言  マナ  - 19/3/17(日) 12:07 -

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

不規則だけど、転記先は固定ならば、
一例ですが、こんな感じで

Sheets("Sheet2").Range("A1").Value = Target.Value
Sheets("Sheet2").Range("B1").Value = Target.Offset(, 1).Value

ダブルクリックしたセルが Target で、
Targetからの相対的な位置が決まっているなら、Offsetが使えます。

【80598】Re:Sheet間の転記について
お礼  tarutaru  - 19/3/17(日) 12:47 -

引用なし
パスワード
   マナ様

オフセットの使用でできました!!

助かりました。また、勉強にもなりました。

今回も的確なアドバイスありがとうございます!!

今後もよろしくお願いいたします。

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