首页 > 代码库 > EXCEL的VBA开发笔记

EXCEL的VBA开发笔记

 最近需要帮忙用EXCEL记一些账目,为了提高效率,稍微学习下了VBA进行编程,笔记之。



在EXCEL中按alt+F11就能跳到VB的开发界面

变量定义:

Dim        变量as 类型   ‘定义为局部变量,如 Dim          xyz as integer
Private    变量as 类型   ‘定义为私有变量,如 Private       xyz as byte
Public     变量as 类型   ‘定义为公有变量,如 Public        xyz as single
Global    变量as 类型   ‘定义为全局变量,如 Globlal       xyz as date
Static      变量as 类型   ‘定义为静态变量,如 Static         xyz as double

注释: Rem 注释内容    或者 ‘ 注释内容   (行注释)
将窗体的showmodal设置为false 即可在运行窗体的同时编辑EXCEL  即 无模态窗体
关系运算符  等于 用=  不等于用 <>  逻辑运算  and or not xor eqv(逻辑等) imp(隐含)

变量类型

String、byte 、boolean 、integer、 long 、single(单精度) 、double date(日期)、

currency(货币)、 decimal(小数点型)、 variant(变量型)、object(对象型)

 控件传递:

Private Function NumberCheck(tb As MSForms.textBox) As Boolean
    MsgBox (tb.Text)
End Function

调用

 re = NumberCheck(textBox)

注意 如果function有返回值一定要有个变量去保存它,不然会提示404错误 要求对象

通过异常判断worksheet的是否存在

On Error GoTo A
     s = Worksheets(ShopNum.Text).Cells(1, 1)
     Exit Function
A:
    MsgBox ("请输入正确的商户")

textbox的换行

    在运行阶段,可以通过在需要换行的地方按住Ctrl+Enter或者Shift+Enter组合键强制换行。
也可以通过代码将多行文本赋值给文本框。
如下所示:
Me.TextBox1.Text = "a" & vbNewLine & "b"
Me.TextBox1.Text = "a" & vbCr & "b"
Me.TextBox1.Text = "a" & vbCrLf & "b"
Me.TextBox1.Text = "a" & vbLf & "b"
vbNewLine、 vbCr 、vbCrLf 、vbLf 4个VB常量都可以表示换行。

关于0

在EXCEL的cell里的值显示为0

但是通过

 Dim myNumber As Single
 myNumber = Worksheets("总分核对").Cells(1, 6)
 textbox.Text = myNumber

这样设置后 textbox显示出来的不一定为0 ,可能为一个很小的数,

我猜这应该是精度问题

窗体的初始化事件

Private Sub UserForm_Initialize()
    MsgBox ("记得选择  [借方输入]  还是  [贷方输入] 哦!")
End Sub


本文出自 “Never Stop Sharing” 博客,请务必保留此出处http://loma1990.blog.51cto.com/6082839/1435080