EXCEL怎么控制刷新?
我想控制A1:C60之间的数据(实际上是=RAND())只有在A10的数据发生变化的时候,才刷新该怎么做呢?...
我想控制A1:C60之间的数据( 实际上是=RAND() )
只有在A10的数据发生变化的时候,才刷新
该怎么做呢? 展开
只有在A10的数据发生变化的时候,才刷新
该怎么做呢? 展开
4个回答
展开全部
有2种方法
1.是单元格内容是=rand()
通过设置手动刷新来防止=rand的变化
使用工作表事件,点工作表标签,右键查看代码
然后复制一下代码,回到工作表即可。
(按F9即可刷新数据,手动重算的公式不会自动计算)
Private Sub Worksheet_Change(ByVal Target As Range)
Application.Calculation = xlManual
If Target.Address = "$A$10" Then
Calculate
End If
End Sub
2.就是用vba随机函数Rnd控制随机数字,效果同=rand(),返回的是随机得到的结果而非可以变化的公式.复制以下代码到工作表代码
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng As Range, Rg As Range
Set Rng = Range("A1:C60")
Application.Calculation = xlAutomatic
Application.EnableEvents = False
If Target.Address = "$A$10" Then
For Each Rg In Rng
Rg = Rnd
Next
End If
Application.EnableEvents = True
End Sub
1.是单元格内容是=rand()
通过设置手动刷新来防止=rand的变化
使用工作表事件,点工作表标签,右键查看代码
然后复制一下代码,回到工作表即可。
(按F9即可刷新数据,手动重算的公式不会自动计算)
Private Sub Worksheet_Change(ByVal Target As Range)
Application.Calculation = xlManual
If Target.Address = "$A$10" Then
Calculate
End If
End Sub
2.就是用vba随机函数Rnd控制随机数字,效果同=rand(),返回的是随机得到的结果而非可以变化的公式.复制以下代码到工作表代码
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng As Range, Rg As Range
Set Rng = Range("A1:C60")
Application.Calculation = xlAutomatic
Application.EnableEvents = False
If Target.Address = "$A$10" Then
For Each Rg In Rng
Rg = Rnd
Next
End If
Application.EnableEvents = True
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
WPSofficeExcel操作步骤:设置好公式后或表格后,我们只需要点击公式——重新计算或计算工作表即可。最简单,无需设置按钮,就能完成手动刷新。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我觉得是不能作到的,因为=rand()是一个随机出数的命令,随时都回变动的。有高手知道的我也学习一下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询