1. vba程序实例
以下是EXCELVNAinster函数的详细用法:
Instr函数
一、题目:
要求编写一段代码,运用Instr函数,在一字符串中查找另一字符串并返回结果。
二、代码:
Sub 示例_1_18()
Dim bssString, yczChar, wz
bssString ="ABpAApCDPBBP"
yczChar = "P"
MsgBox "bssString = "" ABpAApCDPBBP """ & Chr(10) & _
"yczChar= ""P"" 时: " & Chr(10) & Chr(10) & _
"InStr(4, bssString, yczChar, 1) 返回值为 " & _
InStr(4, bssString, yczChar, 1)
wz = Instr(1, bssString, yczChar, 0)
wz = Instr(bssString,yczChar) ' 返回 9。
wz = Instr(1, bssString, "W") ' 返回 0。
End Sub
三、代码详解
1、Sub 示例_1_18():宏程序的开始语句。宏名为示例_1_18。
2、Dim bssString, yczChar, wz :变量bssString、yczChar和ws声明为可变型变量。
3、bssString ="ABpAApCDXPBBP" : 把被搜索的字符串赋给变量bssString。
4、yczChar = "P" : 把要查找的字符P赋给变量yczChar。
5、MsgBox "bssString = "" ABpAApCDPBBP """ & Chr(10) & _
"yczChar= ""P"" 时: " & Chr(10) & Chr(10) & _
"InStr(4, bssString, yczChar, 1) 返回值为 " & _
InStr(4, bssString, yczChar, 1): 用消息框显示从第四个字符开始,以文本比较的方式找字符P,返回值为 6(小写 p的位置)。小写 p 和大写 P 在文本比较下是一样的,也就是当函数的最后一个参数为1时,查找不分大小写。把要查找的字符P的位置赋给变量yczChar。式中Chr(10)是换行符。
6、wz = Instr(1, bssString, yczChar, 0) :从第一个字符开始,以二进制比较的方式查找,返回值为 9(大写 P的位置)。小写 p 和大写 P 在二进制比较下是不一样的,也就是当函数的最后一个参数为0时,查找分大小写。把查找到的字符P的位置赋给变量wz。
7、wz = Instr(bssString, yczChar) :上一句也可写成这样的,因为缺省的比对方式为二进制比较(最后一个参数可省略)。第一个参数省略默认从第一个字符开始查找。返回值为 9。
8、wz = Instr(1,bssString, ”W”) :在被搜索的字符串中查找字符W,由于没找到返回值为0。
InStr 函数
返回 Variant (Long),指定一字符串在另一字符串中最先出现的位置。
InStr([start, ]string1, string2[, compare])
InStr 函数的语法具有下面的参数:
start 可选参数。为数值表达式,设置每次搜索的起点。如果省略,将从第一个字符的位置开始。如果指定了 compare 参数,则一定要有 start 参数。
string1 必要参数。接受搜索的字符串表达式。
string2 必要参数。被搜索的字符串表达式。
Compare可选参数。指定字符串比较。如果省略 compare,Option Compare 的设置将决定比较的类型。
compare 参数设置为:
常数 值 描述
vbUseCompareOption -1 使用Option Compare 语句设置执行一个比较。
vbBinaryCompare 0 执行一个二进制比较。
vbTextCompare 1 执行一个按照原文的比较。
vbDatabaseCompare 2 仅适用于Microsoft Access,执行一个基于数据库中信息的比较。
2. excel vba编程基础知识
呵呵,这小白需求,无语。
实现起来倒是很容易:
每个工作表下面写这个:
1
2
3
Private Sub Worksheet_Change(ByVal Target As Range)
ThisWorkbook.Save
End Sub
只要有单元格被改就自动保存。
总体感觉这需求毫无意义也没有必要用VBA实现。
3. excel vba实例
BeforeDragOver 事件 当拖放操作正在进行时 触发。有多种窗体控件支持此事件,参数稍有不同。以下是此事件的一个示例:
1、建立一个窗体,并放置两个 ListBox 控件(ListBox1 和 ListBox2)。
2、为示例方便,设置了 ListBox1 的 RowSource 属性,添加一些数据:
3、编写代码:在左边的 ListBox1 某条目上,按下鼠标左键,并拖动到右边的 ListBox2 中:
4. VBA编程实例
在实际编程过程中使用ADO的一个典型的存取数据的步骤为:
(1) 连接数据源
(2) 打开记录集对象
(3) 使用记录集
(4) 断开连接
那么具体怎么是用呢?分别来看。(我在最后将给出一个完整的使用ADO的实例给大家参考.)
(1) 如何连接数据源
利用Connection对象可以创建一个数据源的连接.应用的方法是Connection对象的Open方法。
语法:
Connection对象.Open ConnectionString, UserID, PassWord, OpenOptions
其中:
·Connection对象为你定义的Connection对象的实例;
·ConnectionString为可选项,包含了连接的数据库的信息;
·UserID 可选项,包含建立连接的用户名;
·PassWord为可选项,包含建立连接的用户密码;
·OpenOptions为可选项,假如设置为adConnectAsync,则连接将异步打开.
5. Excel VBA编程
在VBA指令中调用Excel函数,可以在函数前面加WorkSheetFunction来调用,如: WorkSheetFunction.Max(Range("A1:A10"))——取单元A1:A10里的最大值; WorkSheetFunction.Average(Range("A1:A10"))——取单元A1:A10里的平均值。 Sub ttt() Cells(1, 2) = WorksheetFunction.Max(Range("A1:A10")) Cells(2, 2) = WorksheetFunction.Average(Range("A1:A10")) End Sub
6. excel vba实例教程
一定要使用VBA吗?我的方法也是使用表单控件,但是不是命令按钮,而是微调按钮(spin button)。不使用VBA。
插入spin button(第一行第四个)
鼠标右键打开控件(format control)窗口,设置当前值,最大值,最小值和连接的单元格等几个参数。
点击“ok”关闭窗口,即可以通过按钮上调或者下调D4单元格的值。每次增加或者减少1.
这个方法的问题是,那个单元格是事先选定的(比如上面例子里的D4单元格)。那个单元格不能随意改变。
7. Excel VBA编程实战宝典
1、打开Excel表格
2、点击开发工具
3、点击Vusual Basic
4、最后即可成功启用
- 相关评论
- 我要评论
-