指定单元格里面的,内容发生变化,触发事件,调用VBA代码。

指定单元格里面的,内容发生变化,触发事件,调用VBA代码。_sun0322-CSDN博客_单元格变化触发vba
 

目录

■通过改变一个单元格的内容,出发一个事件,根据改变的内容,进行相应的处理。

■扩展1:保存时,触发处理

■扩展2:打开Excel时,触发处理


■通过改变一个单元格的内容,出发一个事件,根据改变的内容,进行相应的处理。

具体内容是,有一个单元个,里面的内容可以选择,分别是”1 选择;2填空;3读程序;4写代码“

这里,实现的功能是,选择部分的列

(注:也就是选择题时,会有四个选项,所占的4列,填空题时,不需要这4列)

A

B

C

D

当题型"1选择"被选中时,显示,没有被选中时,隐藏

这里面需要学习的是对这种事件接收的处理的写法。

Worksheet_Change

※:函数要定义在 对应的【SheetN】中

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
       
        If Target.Address = "$E$1" Then
           
            If Range("E1").Value = "1 選択" Then
           
                Rows("4:7").Select
                Range("B4").Activate
                Selection.EntireRow.Hidden = False
           
            End If
           
            If Range("E1").Value <> "1 選択" Then
           
                Rows("4:7").Select
                Range("B4").Activate
                Selection.EntireRow.Hidden = True
           
            End If
           
           

        End If
    
    Application.EnableEvents = True
End Sub

■扩展1:保存时,触发处理

Workbook_BeforeSave

※:函数要定义在 对应的【Workbook】中

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
 
    If Len(Worksheets("SheetName1").Range("A1")) = 0 Then 
        MsgBox "A1 Is Null", vbExclamation + vbOKOnly  ’A1空的话,提示
        Cancel = True ’不保存
    End If
    
End Sub

---

■扩展2:打开Excel时,触发处理

VBA的代码,在Excel启动时自动执行_sun0322-CSDN博客_打开excel自动运行vba

1.建立一个Auto的 モジュール

2.在里面写如下代码

Private Sub Auto_Open()
 
    'Demand Summaryの工数表示期間 (「list」シートの「D2」セル)
    Sheet2.Cells(2, 4) = 15
 
 
End Sub

---

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值