Visual Basic for Application
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'The note of Visual Basic for Application
'VBA 是由微软开发出来的一种宏语言,寄于对Windows桌面程序功能的扩展,和VB语言结构相似,是VB的子集;
'VBA常见的作用:
'1.规范用户的操作,控制用户的操作行为;
'2.操作界面人性化,方便用户的操作;
'3.多个步骤的手工操作通过执行VBA代码可以迅速的实现;
'4.实现一些VB无法实现的功能;
'5.用VBA制做EXCEL登录系统;
'6.利用VBA可以Excel内轻松开发出功能强大的自动化程序.
'VBA中常见的数据类型:
'1. Integer 整型 %
'2. Single 单精度 !
'3. Double 双精度 #
'4. String 字符串 $
'5. Long 长整型 &
'6. Currency 货币型 @ 'VBA判断语句:
'(1)IF判断语句:
'单行判断语句:不需要使用End If
Dim a As Integer
a =
If a > Then MsgBox "大于3" '多行判断语句:需要使用End If
If a > Then
MsgBox "大于2"
ElseIf a > Then
MsgBox "大于5"
Else
MsgBox "feirup"
End If
'(2)IIF判断语句:
MsgBox IIf(a > , "不错", "一般") '选择语句:
'Select Case语句:
Dim i As Integer
i =
Select Case i
Case Is >
MsgBox "正数"
Case Is <
MsgBox "负数"
Case Else
MsgBox ""
End Select
'循环语句:
'DO...LOOP语句:
Dim t As Integer
t =
Do
t = t +
If t > Then MsgBox "大于10了"
Loop 'While语句:
Dim rs%
rs = Do While Cells(rs, ) <> ""
Cells(rs, ) = "非若"
rs = rs +
Loop
'Until循环语句:
Dim t%
t =
Do Until Cells(t, ) = ""
Cells(t, ) = "feiruo"
t = t +
Loop
'for each...next语句: Dim rng As Range, n!
For Each rng In Sheet1.Range("a1:a10")
If rng = "A3" Then
rng.Interior.ColorIndex =
Else
rng.Interior.ColorIndex =
End If
Next
'for...next语句:
Dim i!, j!
For i = To Step
j = j +
Next i
MsgBox "j=" & j 'End与Exit语句:
'1. Exit Do
'2.Exit For
'3.Exit Function
'4.Exit Sub
Dim r!
For r = To
If Sheet1.Cells(r, ) = "非若" Then
Exit For
End If
Next r
MsgBox "非若(第一个)在第" & r & "行!" Sub button() '1.End
'2.End Function
'3.End If
'4.End Select
'5.End Sub
Dim i!
i =
MsgBox "i=" & i
End '直接停止程序
MsgBox "退出le"
End Sub '跳转语句:
'GoTo line无条件转移程序中指定的程序行
Dim str$, k!
k =
line:
k = k +
If k > Then Exit Sub
str = InputBox("请输入用户名!")
If str <> "admin" Then GoTo line
'错误分支语句:
Dim i!
'On Error Resume Next '当遇到错误的时候继续执行下去
On Error GoTo ERROR: For i = To
Cells(i, ) = Cells(i, ) + Cells(i4)
Next i
MsgBox "运行完毕" ERROR: MsgBox "遇到错误!" 'width语句:对某个对象执行一系列的语句是,不用重复指出对象的名称
'a = Range("a1").Address
'b = Range("a1").Parent.Name
With Range("a1")
a = .Address
b = .Parent.Name
MsgBox a '$A$1
MsgBox b 'Sheet1
End With End Sub
'VBA 函数:
Dim i% For i = To Step
Sheet1.Cells(i, ) = "=sum(a" & i & ":b" & i & ")"
Sheet1.Cells(i, ) = "=COUNTIF(A1:A11,"">12"")"
Sheet1.Cells(i, ) = "=sum(INDIRECT(""a1:a10""))"
Next i Dim i% MsgBox Application.WorksheetFunction.CountIf(Range("a1:a10"), ) '3 统计3的14的个数 等价于: 'MsgBox Application.CountIf(Range("a1:a10"), 14) 'MsgBox WorksheetFunction.CountIf(Range("a1:a10"), 14) MsgBox VBA.Format(Range("b1"), "0.00") MsgBox Format(Range("b1"), "0.00") '自定义函数:
Function sex(rng As Range)
MsgBox sex = IIf(Mid(rng, , ) Mod , "男", "女")
End Function
-------非若------
2015.09.24
Visual Basic for Application的更多相关文章
- 用EXCEL内嵌的Visual Basic for Application 编程,通过 UGSimple USB-GPIB 控制器来驱动仪器34401A,并从34401A读取数据
现在市场上有很多中USB-GPIB 控制器,或叫 USB 转GPIB链接线. 每种GPIB控制器都有它的 函数库(dll库).各种GPIB 控制器的价钱插别很大.这里以一种价钱较便宜的USB-GPIB ...
- Visual Basic了解
Visual Basic是一种由微软公司开发的结构化的.模块化的.面向对象的.包含协助开发环境的事件驱动为机制的可视化程序设计语言.这是一种可用于微软自家产品开发的语言.它源自于Basic编程语言.V ...
- 杂项-软件: VBA(Visual Basic for Applications)
ylbtech-杂项-软件: VBA(Visual Basic for Applications) VBA (Visual Basic宏语言) Visual Basic for Application ...
- Visual Basic 2012 借助DataGridView控件将SQL server2012 数据导入到Excel 2010
摘 要: SQL Server 2012 数据和Excel 2010之间的连接和数据的传输,本篇文章主要针对的是SQL Server 2012 数据导入到Excel 2010文件中.Excel软件对 ...
- Visual Basic 2012 借助DataGridView控件将Excel 2010数据导入到SQL server 2012
(注:注释的颜色原本为绿色,在这里变为黑色,有点不便,但不会造成阅读影响.放入Visual Basic2012代码编辑器后会还原成绿色.) 摘 要:DataGridView控件作为数据传输的中介,只 ...
- Visual Basic 2017 操作Excel和word【1】持续更新……
我坚持在VB的路上走到黑………… 清单1.1 从应用程序对象导航到Excel中的工作表 Dim myWorkbooks As Excel.Workbooks = app.Workbooks ) ...
- Visual Basic 函数速查
Calendar 常数 可在代码中的任何地方用下列常数代替实际值: 常数 值 描述 vbCalGreg 0 指出使用的是阳历. vbCalHijri 1 指出使用的是伊斯兰历法. Color 常数 可 ...
- 使用 Async 和 Await 的异步编程(C# 和 Visual Basic)[msdn.microsoft.com]
看到Microsoft官方一篇关于异步编程的文章,感觉挺好,不敢独享,分享给大家. 原文地址:https://msdn.microsoft.com/zh-cn/library/hh191443.asp ...
- Delphi、C C++、Visual Basic数据类型的对照 转
Delphi.C C++.Visual Basic数据类型的对照 变量类型 Delphi C/C++ Visual Basic 位有符号整数 ShortInt char -- 位无符号整数 Byte ...
随机推荐
- 微信公众号:1-IDHTTP控件:GET/POST 请求获取access_token
(图来源于方蓓?) 首先要理解公众号的流程.通过图知道,我们要:1.你要有个web服务器,用于和微信服务器通讯.你的web服务器必须让微信服务器能找到.2.通信要求按照微信公众号开发要求的格式提供相关 ...
- 2017 Multi-University Training Contest - Team 4 Classic Quotation
Classic Quotation Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Othe ...
- (42)Spring Boot多数据源【从零开始学Spring Boot】
我们在开发过程中可能需要用到多个数据源,我们有一个项目(MySQL)就是和别的项目(SQL Server)混合使用了.其中SQL Server是别的公司开发的,有些基本数据需要从他们平台进行调取,那么 ...
- [JLOI2015]战争调度
[JLOI2015]战争调度 题目 解题报告 考试打了个枚举的暴力,骗了20= = $qsy$大佬的$DP$: 其实就是枚举= =,只不过枚举的比较强= = #include<iostream& ...
- noip模拟赛 a
分析:f(n)就是问有多少对a*b*c = n,如果是Σf(i),那就是问有多少对a*b*c <= n. 这道题和之前做过的一道数三角形的题差不多:传送门,先假设一下a <= b < ...
- 手工MAVEN建立WEBAPP项目并打包部署
参考URL: http://my.oschina.net/zimingforever/blog/266028 最简单的东东,可以就两条命令: 建立目录及POM.XML: mvn archetype:g ...
- 记一次ruby的安装
1,下载rubyinstall 安装包及devkit包 登陆网站 :http://rubyinstaller.org/downloads/ 安装rubyinstall包时添加到环境变量 2,安装完in ...
- stl变易算法(三)
本篇接着前面stl变易算法(一)和stl变易算法(二)继续讲述变易算法. 这里将介绍完余下的变易算法,主要有:填充fill.n次填充fill_n.随机生成元素generate.随机生成n个元素gene ...
- Apache OFbiz service engine 源代码解读
上一篇看完了ofbiz entity engine,这篇再来过一下ofbiz的service engine.service engine层在设计模式的使用上跟entity engine有些相似,最典型 ...
- git fetch批处理,遍历一个文件夹下的所有子目录,执行git fetch --all
echo off for /d %%i in (*) do ( echo %%i cd %%i git fetch --all cd .. ) 判断子目录是否有.git文件夹 echo off for ...