单元格select应该显示在另一个表单元格上的消息

我是Excel VBA的新手,请耐心等待。 谢谢。

我的工作簿中有2张。 Sheet1和Sheet2都有相同的行数。 我在Sheet2中命名为SITE,在Sheet1上命名为REMARK。 我需要的是每当我在SITE列中select单元格时,它应该从Sheet1中显示一条消息(即消息应该包含REMARK列的单元格值)。

例如:如果selectSITE列单元格3,则显示的消息应包含REMARK列单元格3的值。

因为我很无聊:

 '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 

编辑
你的“…站点列…”在问题中说我的头是在第一行…但是如果你知道他们在哪里,pos是不会改变的,那么你可以像这样使用它(我假设“SITE”的第一个值在P8中,而Q9中的第一个“REMARK”则显示如何抵消):

 '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