- ·上一篇教育:电子表格怎么在excel设置一个按钮暂停/运行?
- ·下一篇教育:电子表格EXCEL怎么复制整列单元格到另外一个EXCEL文档中
电子表格怎么把excel中的刷新加入到鼠标右键点击的列表当中
1.怎么把excel中的刷新加入到鼠标右键点击的列表当中
excel鼠标右键列表中出现“刷新”一般有两种情况:
1. 使用数据透视表。选中数据-插入-数据透视表,在生成的数据透视表中,点击右键,会有“刷新”的选项;
2. 使用vba,重新设置右键菜单。在工作表界面,点击工作表标签,右键选择“查看代码”,打开代码窗口,在代码窗口粘贴一下代码。回到工作表,点击右键,在右键菜单中即可新增加“刷新”的选项。
代码如下:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Excel.Range, Cancel As Boolean)
Dim cmb1 As CommandBarControl
Application.CommandBars("cell").Reset
Set cmb1 = Application.CommandBars("cell").Controls.Add(Type:=msoControlButton)
With cmb1
.Caption = "刷新"
.FaceId = 18
.OnAction = ""
End With
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
With Application.CommandBars("cell")
.Reset
End With
End Sub
2.EXCEL怎么控制刷新?
有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
