编写一个Excel脚本的一些总结

VBA入门

http://blog.csdn.net/sunxing007/article/details/5658384



1. alt+F11 vba编程界面


2. Excel cell color and color index map:
#00FF00 4
#CCFFCC 35 
FFFF00 6
FF0000 3
C0C0C0 15
http://dmcritchie.mvps.org/excel/colors.htm


3. when copy sheet to another workbook, the color of some cell is lost. You should first copy the custom color from source workbook to target workbook;
attention: when you change the color, but the color index is not change;
Such as: normally color index is map to #008000; when you changed the stardard color to #CCFFCC, but the color index 
is not change.
http://www.excelbanter.com/showthread.php?t=102323


    ' copy color
    targetWorkbook.Colors = targetWorkbook1.Colors

4. select and open excel file
    Dim NewFN As String
Dim targetWorkbook1 As Workbook
    NewFN = Application.GetOpenFilename(FileFilter:="Excel Files (*.xls), *.xls", title:="Please select first file")
    If Len(NewFN) = 0 Then
        ' They pressed Cancel
        MsgBox "Stopping because you did not select a file"
        Exit Sub
    Else
        Set targetWorkbook1 = Workbooks.Open(Filename:=NewFN, ReadOnly:=False)
    End If

5. the last sheet of excel can not be delete
Sub RemoveAllSheet(ByRef wb As Workbook)
    Application.DisplayAlerts = False
    
    Dim sh As Worksheet
    For Each sh In wb.Worksheets
        If sh.Name <> "Sheet1" Then sh.Delete
    Next
    
    Application.DisplayAlerts = True
End Sub


6. sheet copy
Sub CopyFirtstSheetToTarget(ByRef souce As Workbook, ByRef Target As Workbook)
    Application.DisplayAlerts = False
    
    souce.Sheets(1).Copy after:=Target.Sheets("Sheet1")
    ' rename
    Dim sheetName As String
    sheetName = ActiveSheet.Name
    
    ActiveSheet.Name = souce.Name & "_" & sheetName
    Application.DisplayAlerts = True
End Sub


7. get table range
Sub GetTableRange(ByRef lastTableIndex As Integer)
    Last = ActiveSheet.Underline(Rows.count, "A").End(xlUp).Row
    Dim myInterior As Interior
    For i = TABLE_START_INDEX To Last
       Set myInterior = ActiveSheet.Underline(i, "B").Interior
       If (myInterior.ColorIndex = 5) Then
                lastTableIndex = i
       End If
    Next i
End Sub


8. delete all content
Sub DeleteAllContent()
    ActiveSheet.Underline.Clear
End Sub
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VBA是什么   直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得不学习一种不同的自动化语言.例如:可以用EXCEL的宏语言来使EXCEL自动化,使用WORD BASIC使WORD自动化,等等.微软决定让它开发出来的应用程序共享一种通用的自动化语言--------Visual Basic For Application(VBA),可以认为VBA是非常流行的应用程序开发语言VASUAL BASIC 的子集.实际上VBA是"寄生于"VB应用程序的版本.VBA和VB的区别包括如下几个方面:   1. VB是设计用于创建标准的应用程序,而VBA是使已有的应用程序(EXCEL等)自动化   2. VB具有自己的开发环境,而VBA必须寄生于已有的应用程序.   3. 要运行VB开发的应用程序,用户不必安装VB,因为VB开发出的应用程序是可执行文件(*.EXE),而VBA开发的程序必须依赖于它的"父"应用程序,例如EXCEL.   尽管存在这些不同,VBA和VB在结构上仍然十分相似.事实上,如果你已经了解了VB,会发现学习VBA非常快.相应的,学完VBA会给学习VB打下坚实的基础.而且,当学会在EXCEL中用VBA创建解决方案后,即已具备在WORD ACCESS OUTLOOK FOXPRO PROWERPOINT 中用VBA创建解决方案的大部分知识.   * VBA一个关键特征是你所学的知识在微软的一些产品中可以相互转化.   * VBA可以称作EXCEL的"遥控器".   VBA究竟是什么?更确切地讲,它是一种自动化语言,它可以使常用的程序自动化,可以创建自定义的解决方案.    此外,如果你愿意,还可以将EXCEL用做开发平台实现应用程序. …… …… …… …… …… …… 欢迎使用 VBScript 语言参考 通过对信息进行分组,可以使您方便地研究 Visual Basic 脚本的各个主题。 可以在“字母顺序关键字列表”中找到 VBScript 语言的所有主题。如果只需要查看某个主题(例如对象),则有对该主题进行详细说明的章节可供查阅。 如何操作呢?单击左边任意一个标题,即可显示该标题所包含的项目列表。从该列表中选择要查看的主题。打开所选主题之后,就能够很容易地链接到其他相关章节。 好了,现在就开始行动,赶快进去看一看吧!学习几个语句,研究几种方法,或者熟悉几个函数。您会发现 VBScript 语言的功能是多么强大。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值