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 ...
随机推荐
- Spring Boot静态资源处理
Spring Boot静态资源处理 8.8 Spring Boot静态资源处理 当使用Spring Boot来开发一个完整的系统时,我们往往需要用到前端页面,这就不可或缺地需要访问到静态资源,比如图片 ...
- Groovy简单再入门
以前试过,忘得差不多了,趁这次从JAVA一直撸到SERVLET,SPRING,GROOVY,GRAILS的机会,再弄一次吧... def authors = [ "Peter Ledbroo ...
- P - How many
Give you n ( n < 10000) necklaces ,the length of necklace will not large than 100,tell me How man ...
- 查看Linux的CPU信息,核数等
# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 # 查看物理CPU个数 cat /proc/cpuinfo| ...
- 小议:部署SharePoint 2013时,无法连接SQL Server问题
最近在给学员培训时发现,个别学员在完毕SharePoint 2013部署时,无法连接SQL Server,两种报错情况,例如以下所看到的: :配置SharePointConnect to SQL Se ...
- Python爬虫抓取csdn博客
昨天晚上为了下载保存某位csdn大牛的所有博文,写了一个爬虫来自己主动抓取文章并保存到txt文本,当然也能够 保存到html网页中. 这样就能够不用Ctrl+C 和Ctrl+V了,很方便.抓取别的站点 ...
- Hadoop - MapReduce MRAppMaster-剖析
一 概述 MRv1主要由编程模型(MapReduce API).资源管理与作业控制块(由JobTracker和TaskTracker组成)和数据处理引擎(由MapTask和Redu ...
- linux openssl 编程 Client端
相关配置等请參看上一篇关于server端文章:http://blog.csdn.net/pingd/article/details/47805349 1.Client端源代码: openssl_cli ...
- 蒟蒻的trie树专题
POJ 3630 Phone List: 模板 ///meek #include<bits/stdc++.h> using namespace std; using namespace s ...
- 10g异机恢复后EM无法启动故障处理一例
之前在自己的測试环境上做了个异机恢复,原来的库上是配置过EM的,可是在恢复的库上去启动EM就报错了.以下看详细解决过程: PS:原主机名为zlm,恢复出来的主机名为bak [root@bak ~]# ...