【发布时间】:2019-05-25 07:24:47
【问题描述】:
表格 1 作为输入值
表 2 作为我的价值和数据
使用 =Sheet1!E4 从 Sheet1 值引用工作表值
我想避免 onclick 按钮事件 => 一旦工作表 1 中的值更改为 10,然后工作表 2 中的值更改为 10 => 然后获取工作表 2 中更改的值,宏应自动检测该值如果发生更改,则应在 I 列中多次打印数据
模块 1 我的宏:
Sub mac()
Dim ws As Worksheet
Dim rDest As Range
Dim lCount As Long
Dim sValue As String
Set ws = ActiveWorkbook.ActiveSheet
Set rDest = ws.Range("I2")
With ws.Range(rDest, ws.Cells(ws.Rows.Count, rDest.Column).End(xlUp))
If .Row >= rDest.Row Then .ClearContents
End With
lCount = Val(ws.Range("E4").Value)
sValue = ws.Range("E8").Value
If lCount > 0 Then rDest.Resize(lCount) = sValue
End Sub
表 2:代码
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Range("E4"), Range(Target.Address)) Is Nothing Then
Call mac
End Sub
输出:应该像下面这样 Output Image:https://i.stack.imgur.com/voz7g.png
【问题讨论】:
-
你添加了很多细节,但不太清楚你认为什么不起作用......?
-
您可能想在
Sheet1中使用Worksheet_Change事件?并在您的函数Set ws = ActiveWorkbook.Sheets("Sheet2")中按名称设置您的工作表