![](/img/trans.png)
[英]How to reference cell from another sheet in Module - Excel VBA?
[英]VBA select another sheet from cell reference in sheet 1
希望有人可以提供帮助(我是新手,所以请放轻松)
我在工作表1的单元格C11中有一个下拉框。
当我从下拉框中选择选项“单位销售”时,我要转到工作表1的单元格M1中列出的工作表名称。
下拉框中的任何其他选择都应直接转到工作表1的单元格A2。
我已经尝试通过在此网站上复制其他内容来进行以下操作,但由于它无法进入新工作表,因此似乎不起作用。
谢谢达
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C11")) Is Nothing Then
If Range("C11") = "Unit Sale" Then
Sheets(Range("M1")).Select
Range("A2").Select
Else
Range("A2").Select
End If
End If
End Sub
我发现您必须确保工作表名称是字符串。 (顺便说一句,通常可以避免选择吗?)
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C11")) Is Nothing Then
If Target.Value = "Unit Sale" Then
Application.goto Sheets(Range("M1").Text).Range("A2")
Else
Range("A2").Select
End If
End If
End Sub
在Worksheet
事件处理程序的上下文中,没有明确的工作表限定的任何普通 Range
引用都将隐式引用事件处理程序的父工作表
因此, Range("A2").Select
会尝试在事件处理程序的同一工作表中选择单元格A2,而不管前面的Sheets(Range("M1")).Select
为何,从而生成错误
然后可以编写如下代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$C$11" Then Exit Sub
If Target.Value = "Unit Sale" Then
With Sheets(Range("M1").Value) 'reference the sheet you want to select cell A2 of
.Select ' select referenced sheet
.Range("A2").Select ' select referenced sheet cell A2
End With
Else
Range("A2").Select ' this will always select the parent worksheet cell A2
End If
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.