77家的会客2010

Tag: VBA | 记录数: 6
VBProject:代码操作代码之常用语句 (转)

 

 

一、增加模块 
1.增加一个模块,命名为“我的模块”  
  ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_StdModule).Name = "我的模块" 
  系统常量vbext_ct_StdModule=1 
2.增加一个类模块,命名为“我的类”  
  ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_ClassModule).Name = "我的类"  
  vbext_ct_ClassModule=2  
3.增加一个窗体,命名为“我的窗体” 
  ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_MSForm).Name = "我的窗体" 
  vbext_ct_MSForm=3  
二、删除模块  。。。
Excel中VBA使用的一些总结

 

最近用VBA写了不少工作 上用的工具,一些常用或是容易出错的拿出来分享一下

1、检查一个XLS里是否存在指定SHEET页

Function SheetExists(ByVal wb As Workbook, ByVal SheetName As String) As Boolean
' returns TRUE if the sheet exists in the active workbook
    SheetExists = False
    On Error GoTo NoSuchSheet
    If Len(wb.Sheets(SheetName).Name) > 0 Then
        SheetExists = True
        Exit Function
    End If
NoSuchSheet:
    SheetExists = False
End Function
 
用VBA实现EXCEL单元格输入即保护功能
Weather:春天来了,百花还未花

由于Tracy要求财务上用的EXCEL表要实现的功能:当前SHEET页上的某些单元格或行或列,录入数据的人,只有录入一次,录入完则立即保护起来,如果想修改,只能有密码的人才能修改。

从这可以衍生出更具体的要求:

  1. 输入一次即保护起来,想再修改必须输入密码(即原始要求)
  2. 未输入的空白区(保护作用区,即将会被保护的)可以随便操作
  3. 输入密码后,只能修改当前选中的单元格,不能随意修改其它被保护的单元格
  4. 要修改被保护的单元格,弹出输入密码框
  5. 输入密码验证后,拉选(多选)单元格区域,被保护的还是不能被删除
  6. 被保护起来的单元格要特殊显示
  7. 保护状态下,拉选(多选)时不会触发密码提示框
工作表(Worksheet)基本操作应用示例
Weather:晴转阴,南风3-4级转北风3-4级,(1~8)℃

在编写代码时,经常要引用工作表的名字、知道工作表在工作簿中的位置、增加工作表、删除工作表、复制工作表、移动工作表、重命名工作表,等等。下面介绍与此有关及相关的一些属性和方法示例。
 


[示例04-01]增加工作表(Add方法)
Sub AddWorksheet()
   MsgBox "在当前工作簿中添加一个工作表"
   Worksheets.Add
   MsgBox "在当前工作簿中的工作表sheet2之前添加一个工作表"
   Worksheets.Add before:=Worksheets("sheet2")
   MsgBox "在当前工作簿中的工作表sheet2之后添加一个工作表"
   Worksheets.Add after:=Worksheets("sheet2")
   MsgBox "在当前工作簿中添加3个工作表"...

工作簿(Workbook)基本操作应用示例(一)
Weather:晴转阴,南风3-4级转北风3-4级,(1~8)℃

Workbook对象代表工作簿,而Workbooks集合则包含了当前所有的工作簿。下面对Workbook对象的重要的方法和属性以及其它一些可能涉及到的方法和属性进行示例介绍,同时,后面的示例也深入介绍了一些工作簿对象操作的方法和技巧。
 


示例03-01:创建工作簿(Add方法)
[示例03-01-01]
Sub CreateNewWorkbook1()
   MsgBox "将创建一个新工作簿."
   Workbooks.Add
End Sub...