2016-06-30 7 views
0

私はExcel VBAを初めて使用しています。ありがとう。選択されたセルに別のシートのセルにあるメッセージが表示される

私はワークブックに2枚あります。 Sheet1とSheet2は両方とも同じ数の行を持ちます。私はSheet2にSITEとSheet1に名前を記したREMARKという名前の列を持っています。私が必要とするのは、SITE列のセルを選択するたびに、Sheet1からのメッセージ(つまり、メッセージにREMARK列のセル値が含まれているはずです)を表示する必要があります。例えば

:SITE列、セル3が選択されている場合、私は退屈だから、次に表示されたメッセージは備考欄セルの値3

+1

「メッセージ」とは、メッセージボックス(「OK」または「キャンセル」)を意味しますか?または、発言値を示すメッセージの種類は何ですか?前者の場合は、VBAの 'MsgBox()'と['Worksheet_SelectionChange'](https://msdn.microsoft.com/en-us/library/office/ff194470.aspx)イベントを調べたいと思うでしょう。まだ何か試しましたか? – BruceWayne

+0

まだ何も書いていません。データ検証のようなメッセージ。私はOKとCancelを必要としません。 REMARK値を示すメッセージまたはメモだけです。 – Rehaan

答えて

2

が含まれている必要があります

'in Sheet1 
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
    If Target.Column = Application.Match("SITE", Target.Parent.Rows(1), 0) Then MsgBox Sheets("Sheet2").Cells(Target.Row, Application.Match("REMARK", Sheets("Sheet2").Rows(1), 0)).Value2 
End Sub 

'in Sheet2 
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
    If Target.Column = Application.Match("REMARK", Target.Parent.Rows(1), 0) Then MsgBox Sheets("Sheet1").Cells(Target.Row, Application.Match("SITE", Sheets("Sheet1").Rows(1), 0)).Value2 
End Sub 

EDIT
あなたの "... SITE列..."という質問で、ヘッダーは1行目にあると言われました。しかし、それらがどこにあるのかわかっていてposが変更されていない場合は、このように使用できます"SITE"の最初の値がP8にあり、最初の "REMARK"がQ9でオフセットする方法を示しているとします。

'in Sheet1 
'the "Target.Row + 1" need the row offset because it starts 1 row later 
'if they start at the same row, the "+ 1" can be deleted 
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
    If Target.Column = Range("P1").Column And Target.Row >= 8 Then MsgBox Sheets("Sheet2").Range("Q" & Target.Row + 1).Value2 
End Sub 

'--------------------------------------------------------------------- 

'in Sheet2 
'because the offset must be the opposite, the "+ 1" becomes "- 1" here 
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
    If Target.Column = Range("Q1").Column And Target.Row >= 9 Then MsgBox Sheets("Sheet1").Range("P" & Target.Row - 1).Value2 
End Sub 
+0

あなたのコードを試しましたが、エラー "タイプの不一致"が表示されています。 SITE列名は位置P8に書き込まれます。私はコードやP8のような何かについて言及しなければならないのですか? – Rehaan

+0

Excelの列名は8行目から始まり、他の7行はシートに関するいくつかの見出し/情報があります。 – Rehaan

+0

私の編集を参照してください...セルの位置が行と列で変化する場合は、 "SITE"や "Remark"を含む複数のセルがあるとエラーが出る可能性があります。 –

関連する問題