【发布时间】:2017-12-06 16:33:05
【问题描述】:
对于初学者来说,我是自学成才并且仍在学习(我从这个网站学到了很多东西)。话虽如此,请不要假设某些事情是显而易见的。如果您的解决方案过于复杂,我将需要帮助更改代码。
我想要完成的是;如果您在“Sheet3”、“Sheet4”和“Sheet5”上选择单元格 A10,那么我希望显示一个消息框,其中包含来自 Sheets("Sheet6").Range("A1") 的信息。
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Selection.Count = 1 Then
If Not Intersect(Target, Range("A10")) Is Nothing Then ' this range is where you click to get the msgbox
Dim rng As Range, s As String, x As String
Set rng = Sheets("Sheet6").Range("A1") ' this defines x
s = "Define: " ' s is what appears first
x = s & rng.Value ' x is what appears after s
MsgBox x
End If
End If
End Sub
我想发生什么;如果您在“Sheet3”、“Sheet4”和“Sheet5”中并在这三个工作表中的任何一个中选择 A10,它将与代码中定义的消息框一起出现。
什么在起作用;目前这是一个直接在“Sheet5”中的私人子。当它在这里时,如果选择了单元格 A10(在“Sheet5”中),则来自“Sheet6”A1 的信息会根据我的需要出现在消息框中。
什么不工作;因为这是一个私人潜艇并且在“Sheet5”内,所以我正在努力让它与“Sheet3”和“Sheet4”中的 A10 一起使用。
我试图通过移动代码并将其声明为可用于所有工作表的公共子代码来更改代码,但到目前为止没有成功。
【问题讨论】: