VBA 常用处理

1.禁止连续触发事件

'EXCEL中有多个单元格有change事件,只有当前单元格发生改变时触发当前单元格对应的处理
Private Sub Worksheet_Change(ByVal Target As Range)
'禁止连续触发事件
Application.EnableEvents = False
'======主要处理略

'允许连续触发事件
Application.EnableEvents = True
End Sub

2.获取当前单元格的位置:Target.address
3.获取当前单元格的值:Target.Value

4.弹出密码输入框

Sub 表示按钮_Click()
   '预设密码
   finalPwd = "123456"
   '请输入密码
   inputPwd = InputBox("请输入密码!", "info", Default)
   '密码验证
   If finalPwd = inputPwd Then
      MsgBox ("成功!")
   Else
      MsgBox ("密码输入错误!")
   End If
End Sub

5.删除可编辑范围

Sub UnProtectSheet()
    ActiveSheet.Unprotect
    
    '删除全部可编辑范围
    For i = 1 To ActiveSheet.Protection.AllowEditRanges.Count
        ActiveSheet.Protection.AllowEditRanges(i).Delete
    Next
End Sub

6.名称管理器,更改单元格名称

Range("A1").Name = "汉字"

效果:
在这里插入图片描述
7.给单元格设公式

Function setFormula(ByVal row As Integer, ByVal column1 As String) As Boolean
'
' 给单元格设公式
'
    Dim formula As String
    '如果有A1~A{0}列不为空,计算第{1}列de第1{0}行的值
    formula = "=SUMPRODUCT(($A$1:$A{0}="""")*({1}$1:{1}{0}*1))"
    formula = Replace(formula, "{0}", CStr(row - 1))
    formula = Replace(formula, "{1}", column1)
    Worksheets("sheet1").Range(column1 & row).formula = formula
    setFormula = True
End Function

效果:({0}=4,{1}=B)
在这里插入图片描述
8.四舍五入:
Application.Round(123.5, 1)
结果:124

9.给VBA代码设置保护密码:
①.打开Excel,按下Alt+F11;
②.选择代码工作表,点击右键,选择“VBAProject属性”;
③.选择“保护”选项卡;
④.勾选“查看时锁定工程”,输入两次密码;
⑤.就为VBA代码设置了密码保护。
10.给单元格设百分比公式
A1内容:0.101
Range(“A1”).NumberFormatLocal = “0.0%”
A1的表示结果:10.1%
//待更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值