Sub ChangeWorkbookReferenceName() Dim wb As Workbook Set wb = ThisWorkbook ' 当前工作簿 ' 修改引用名称为"NewWorkbookName" wb.Name = "NewWorkbookName" ' 打印修改后的引用名称 MsgBox "工作簿的引用名称已修改为:" & wb.Name End Sub 在上述代码中,我们首先声明了一个Workbook对象wb,并将其设置为当...
Private SubWorkbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range) Application.StatusBar = "在工作表" &Sh.Name & "选中了单元格区域:" & Target.Address End Sub ‘在状态栏显示当前选中的单元格区域地址。 关于Workbook对象的介...
1、BeforeClose:当工作簿即将关闭之前触发,执行相应代码。Private Sub Workbook_BeforeClose(Cancel As Boolean) Me.Save MsgBox "你关闭了文件:" & Chr(10) & Me.Name & Chr(10) & "欢迎下次再来!"End Sub 2、Open事件:当工作簿被打开时触发,执行相应代码。Private Sub Workbook_Open() MsgB...
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) '禁用右键菜单 Cancel = TrueEnd Sub 4、Change:工作表发生改变事件,在单元格发生改变时发生。比如,可以用来判断单元格的值是否符合设定的条件。Private Sub Worksheet_Change(ByVal Target As Range) '输入数字不大于...
Workbooks.open Filename:="TEST.XLSX", ReadOnly:=True ' 将文件TEST.XLSX打开为只读工作簿 Workbook对象是一个Microsoft Excel 工作簿。有Name、Path等属性。有SaveAs等方法。有Open、Activate等事件。 ThisWorkbook属性返回运行Visual Basic代码的工作簿。当Visual Basic代码是加载宏的组成部分时,返回加载宏的工作簿...
Function WorkbookIsOpen1(strWorkbookname AsString) As Boolean '检测是否有打开的指定的工作簿文件 '没有针对完整路径检测,不完美 '大家可以自己再完善下。 '方法一 Dim wb As Workbook Dim str As String str = LCase(strWorkbookname) '定义一个字符串变量...
Worksheet,即“工作表”,就是我们最熟悉的Excel工作表,是WorkBook对象的一个子对象。 二、常用的属性、方法 1、定义一个Worksheet对象 Dim ws as Worksheet 2、引用工作表 (1)通过工作表的名称(Name)引用工作表 Set ws = ThisWorkbook.Sheets("明细表") ...
Workbook_BeforeClose事件:关闭工作簿之前发生该事件 Workbook_SheetChange事件:工作簿中任意单元格改变时发生该事件 其他事件方法 Application.Onkey(表示按键字符串,运行的事件)方法:当按特定键或特定的组合键时运行指定的过程。 Application.OnTime(运行时间,运行过程[,最后运行时间][,True|False])方法:安排一个过程在...
Private Sub Workbook_BeforeClose(Cancel As Boolean) Me.Save MsgBox "你关闭了文件:" & Chr(10) & Me.Name & Chr(10) & "欢迎下次再来!" End Sub 2、Open事件:当工作簿被打开时触发,执行相应代码。 Private Sub Workbook_Open() MsgBox "欢迎打开:" & Chr(10) & ThisWorkbook.Name ...
四、代码逻辑2-基于工作簿Workbook 基于“三、代码内容1-基于工作表Worksheet” 的代码逻辑存在性能和逻辑上的瓶颈,说明如下: 1、以上基于工作表Worksheet的事件,每个工作表都要copy一份代码,而基于工作簿Workbook的事件只需要一份代码即可。 2、以上判断整列是否为空,为空则不处理需要循环逐条判断,判断次数较多,效率...