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 ...
随机推荐
- 【codeforces 509E】Pretty Song
[题目链接]:http://codeforces.com/contest/509/problem/E [题意] 让你计算一个字符串的所有子串里面元音字母出现的频率的和; [题解] 先处理出前缀和-&g ...
- 【codeforces 767D】Cartons of milk
[题目链接]:http://codeforces.com/problemset/problem/767/D [题意] 每个牛奶都有最晚可以喝的时间; 每天喝K瓶牛奶; 你有n瓶牛奶->已知每个牛 ...
- 重庆OI2017 小 Q 的棋盘
小 Q 的棋盘 时间限制: 1 Sec 内存限制: 512 MB 题目描述 小Q正在设计一种棋类游戏.在小Q设计的游戏中,棋子可以放在棋盘上的格点中.某些格点之间有连线,棋子只能在有连线的格点之间移 ...
- angular的又一本好书
MANNING出的<ANGULAR.JS IN ACTION>. 比上本看完的书<ANGULAR ESSENTIAL>多了一些有全局性的东东. 八个关键概念:MODULE,CO ...
- Linux排查java程序占用cpu过高的线程代码
分几步骤: 1.通过top,查出占用CPU过高的java进程 ,比如: pid :6666 2.通过ps -mp 6666 -o THREAD,tid,time| sort -n -k1 -r 查看此 ...
- SSM(spring mvc+spring+mybatis)学习路径——2-1、spring MVC入门
目录 2-1 Spring MVC起步 一.回顾Servlet 二.SpringMVC简介 三.搭建SpringMVC第一个案例 四.简单流程及配置 五.使用注解开发Controller 六.参数绑定 ...
- v$open_cursor中的相同record
之前在查看v$open_cursor的时候,发现很多相同的record. 让我很疑惑, sid saddr sql_id 都相同,我就想 这不是一个cursor吗? 那为什么在open_cursor中 ...
- portmap 和 rpc程序
Portmap 是为RPC 程序服务的. 每一个RPC server程序启动的时候要向portmap程序注册.这样portmap程序就知道这些RPC server监听在哪个端口. 而RPC clien ...
- Oracle学习(一):基本操作和基本查询语句
文中以"--"开头的语句为凝视,即为绿色部分 1.知识点:能够对比以下的录屏进行阅读 SQL> --录屏工具spool,開始录制,并指定保存路径为c:\基本查询.txt SQ ...
- oc31--new实现
// // main.m // new方法实现原理 #import <Foundation/Foundation.h> #import "Person.h" int m ...