- 浏览: 7542 次
- 性别:
- 来自: 上海
最近访客 更多访客>>
文章分类
- 全部博客 (8)
- Arithmetic (0)
- C/C++ (1)
- Excel (3)
- JAVA (0)
- Oracle (3)
- Command Prompt (0)
- Javascript (0)
- TCP/IP (0)
- Tools (0)
- VB (0)
- C# (0)
- Objective-C (0)
- Andriod (0)
- SQL Server (0)
- MySQL (0)
- Shell (0)
- CSS (0)
- HTML5 (0)
- XML (0)
- PHP (0)
- Python (1)
- perl (0)
- Ruby (0)
- Scala (0)
- 网络编程 (0)
- Hadoop (0)
- Groovy (0)
- 设计模式 (0)
- UML (0)
- webservice (0)
- Ajax (0)
- COM/COM+ (0)
- windows API (0)
- Struts (0)
- Hibernate (0)
- Spring (0)
- Mybatis (0)
- Linux (0)
- Unix (0)
- Apache (0)
- AspectJ (0)
最新评论
1.从函数中返回字符串
某些函数具有两种版本:一种返回 Variant 数据类型,而另一种返回 String 数据类型。Variant 版本较为方便因为变形体会自动地处理不同类型间的传输。它们同时也允许 Null 通过表达式来发送。String 版本较具有效率,因为它们使用较少的内存。
当有下列之情形时可考虑使用 String 版本:
a,程序很大并且使用很多的变量。
b,将数据直接写到随机存取文件中
当在函数名称后面加上一个美元符号($)时,下列的函数会对于 Sting 变量返回一个数值。这些函数若不加上美元符号用法与语法与 Variant 相等。
2.可选的参数
在过程的定义中,可选的参数前会有一个 Optional 关键字。在过程的定义中也可以指定一个缺省值赋予可选的参数。例如:
Sub OptionalArgs(strState As String, Optional strCountry As String = "USA") . . . End Sub
3.参数数组
参数数组可用来传递数组的参数给过程。所以当定义过程时就不用知道数组中的元素个数。
使用 ParamArray 关键字来指示一个参数数组。而此数组必须被声明为 Variant 类型的数组,并且此数组必须是过程定义中最后面那个参数。
Sub AnyNumberArgs(strName As String, ParamArray intScores() As Variant) Dim intI As Integer Debug.Print strName; " Scores" ' 用 UBound 函数决定数组的上限。 For intI = 0 To UBound(intScores()) Debug.Print " "; intScores(intI) Next intI End Sub Sub test() AnyNumberArgs "Jamie", 10, 26, 32, 15, 22, 24, 16 AnyNumberArgs "Kelly", "High", "Low", "Average", "High" End Sub
4.使用数组
缺省规定,数组的索引是从零开始,所以curExpense(364)的上标界是364,具有365个元素
a、可以在模块的顶部使用 Option Base 语句,将第一个元素的缺省索引值从 0 改成 1。
Option Base 1 Dim curExpense(365) As Currency
b、也可以利用 To 子句来对数组的底层绑定做显示地声明
Dim curExpense(1 To 365) As Currency Dim strWeekday(7 To 13) As String
5.使用 Do...Loop 语句
a.直到条件为 True 时重复语句:
Sub ChkFirstWhile() counter = 0 myNum = 20 Do While myNum > 10 myNum = myNum - 1 counter = counter + 1 Loop MsgBox "The loop made " & counter & " repetitions." End Sub Sub ChkLastWhile() counter = 0 myNum = 9 Do myNum = myNum - 1 counter = counter + 1 Loop While myNum > 10 MsgBox "The loop made " & counter & " repetitions." End Sub
b.直到条件变成 True 才重复语句:
Sub ChkFirstUntil() counter = 0 myNum = 20 Do Until myNum = 10 myNum = myNum - 1 counter = counter + 1 Loop MsgBox "The loop made " & counter & " repetitions." End Sub Sub ChkLastUntil() counter = 0 myNum = 1 Do myNum = myNum + 1 counter = counter + 1 Loop Until myNum = 10 MsgBox "The loop made " & counter & " repetitions." End Sub
c.从循环内退出 Do...Loop 语句:
Sub ExitExample() counter = 0 myNum = 9 Do Until myNum = 10 myNum = myNum - 1 counter = counter + 1 If myNum < 10 Then Exit Do Loop MsgBox "The loop made " & counter & " repetitions." End Sub
6.使用 For Each...Next 语句
a.对某范围的单元格做循环:
Sub RoundToZero() For Each myObject in myCollection If Abs(myObject.Value) < 0.01 Then myObject.Value = 0 Next End Sub
b.在完成前退出 For Each...Next 循环:
Sub TestForNumbers() For Each myObject In MyCollection If IsNumeric(myObject.Value) = False Then MsgBox "Object contains a non-numeric value." Exit For End If Next c End Sub
7.使用 For...Next 语句
使用 Step 关键字,可以由所指定的值增加或减少计数变量
Sub TwosTotal() For j = 2 To 10 Step 2 total = total + j Next j MsgBox "The total is " & total End Sub
为了减少计数变量的值,可以使用负的 Step
值。为了减少计数变量的值,必须指定一个小于开始值的结束值。在下面的示例中,计数变量 myNum
会在每次循环重复时减去
2。当循环完成时,total
的值为 16、14、12、10、8、6、4 和 2 的总合。
Sub NewTotal() For myNum = 16 To 2 Step -2 total = total + myNum Next myNum MsgBox "The total is " & total End Sub
8.使用 Select Case 语句
Function Bonus(performance, salary) Select Case performance Case 1 Bonus = salary * 0.1 Case 2, 3 Bonus = salary * 0.09 Case 4 To 6 Bonus = salary * 0.07 Case Is > 8 Bonus = 100 Case Else Bonus = 0 End Select End Function
9.将数据写到文件中
顺序访问(Input、Output 和 Append 方式)被用来写入文本文件,比如错误登录和报告。
随机访问(Random 方式)被用来读取与写入数据到文件并且没有关闭文件。随机访问文件在记录中保留数据,如此可很快的找出信息所在。
二进制访问(Binary 方式)被用来读取或写入数据到文件中任何的字节位置,例如存储或显示一个位图图象。
注意 Open 语句不可以用来打开一个应用程序专属的文件类型。例如,不可使用 Open 去打开一个 Word 文档, a ,Microsoft Excel 的电子数据表,或是 Microsoft Access 数据库。若如此做的话会丢失文件的完整性,并造成文件的毁损。
当从文件读取数据和写入数据到文件时,下表列出了所使用的典型语句。
顺序 | Print #, Write # | Input # |
随机 | Put | Get |
二进制 | Put |
Get |
相关推荐
这篇“Excel VBA学习笔记”涵盖了多个关键知识点,下面将对这些内容进行详细讲解。 一、VBA基础 1. **环境介绍**:VBA开发环境包括VBE(Visual Basic Editor)编辑器,它提供了代码编辑器、项目浏览器、对象浏览器...
EXCEL VBA ListView+Toolbar 控件学习笔记,加示例和代码
VBA学习笔记系列----WorkBook、Worksheets、Range对象是 Microsoft Excel 中的三个重要对象,它们分别代表 Excel 工作簿、工作表和单元格范围。在本文中,我们将详细介绍这三个对象的属性和方法,以及它们之间的关系...
Day1-跟着孙兴华学习Excel VBA 第二季
通过学习Excel VBA,你可以: 1. **宏录制**:Excel内置的宏录制功能可以帮助初学者快速入门,记录并回放一系列操作,无需深入了解代码。 2. **对象模型**:理解Excel的对象模型是编写高效VBA的关键。主要包括...
ExcelVBA和WordVBA是Microsoft Office套件中两种强大的自动化工具,它们允许用户通过编程方式来控制和自定义这两个程序的行为。本教程主要聚焦于第4季的内容,深入讲解了对象、集合、属性和方法等核心概念。 首先,...
Excel VBA 入门笔记,看了你也可以轻松入门 VBA! Excel VBA 是 Excel 中的一种编程语言,可以帮助用户实现自动化操作、数据分析和报表生成等功能。通过学习 Excel VBA,可以提高工作效率和数据处理能力。 在 ...
这份"excel函数学习笔记"包含了个人的学习总结,旨在帮助读者掌握这些功能并提升工作效率。 1. **基础函数理解** - **SUM**: 用于求和。例如,`=SUM(A1:A10)` 将计算A1到A10区域内的所有数字之和。 - **AVERAGE**...
综上所述,Excel VBA教程查询笔记不仅为学习者提供了一个了解和入门VBA的平台,而且通过深入讲解和实践操作,帮助学习者掌握了在日常工作中解决复杂问题的高级技巧。通过本教程,学习者可以提高个人的办公自动化水平...
本教程查询笔记是专业教师编写的,旨在帮助学习者深入理解和掌握Excel VBA的核心概念和实用技巧。 在Excel VBA中,查询功能是非常重要的一个部分,它使得数据处理和分析变得高效便捷。以下是本教程可能涵盖的一些...
通过实践和学习《Excel 2007学习笔记.txt》中的内容,你将能够熟练掌握这些技巧,提高工作效率,并在数据分析领域取得显著进步。不断练习和探索,你会发现Excel2007是一个强大而实用的工具,能满足各种业务需求。
### VBA学习笔记关键知识点详解 #### 一、工作簿管理与操作 VBA(Visual Basic for Applications)是Microsoft Office套件中的一种编程语言,特别适用于自动化Excel、Word等应用程序的任务。以下是从“VBA自己学习...
VBA学习笔记本(二)——两个表格数据匹配_DEMO 将excel中两个工作表中,数据进行一键同步的通用方法
文件列表中只有一份“ExcelVBA.doc”,这可能是一个详细的教程文档,包含了上述所有知识点的详细说明,也可能包括练习和解答,以帮助学习者更好地掌握Excel VBA与Access的整合技巧。 总之,这份资料对于那些希望...
### VBA学习笔记02Excel之VBA编程常用语句解析 #### 一、定制模块行为 1. **Option Explicit**: - **用途**:强制要求在使用任何变量之前必须先声明它。 - **解释**:此指令用于确保在模块中使用的每个变量都已...
2. **Excel对象模型**:VBA提供了一个强大的对象模型来操作Excel,包括Workbook、Worksheet、Range、Column、Row等对象。 3. **读取和写入数据**:使用`Range.Value`属性可以读取或设置单元格或单元格区域的值。...
通过学习和实践这些知识点,你可以利用Excel VBA和Access数据库的强大功能,实现高效的数据管理和自动化处理。这本“Excel VBA与数据库(Access)整合笔记”文档会深入探讨这些主题,帮助你提升在数据处理领域的技能。
本笔记将详细阐述如何使用VBA在Excel中创建并操作Access数据库,涉及的知识点涵盖了DAO(数据访问对象)、ADOX(ActiveX数据对象扩展)、数据库的创建与管理等方面。 首先,我们来了解DAO,它是一种面向对象的编程...
### Excel_VBA与数据库(Access)整合笔记精要解析 #### 一、创建数据库和数据表的方法 在《Excel_VBA与数据库(Access)整合笔记》中,作者加肥猫详细介绍了通过多种技术手段实现Excel与Access数据库整合的过程。本文...
在Excel VBA编程中,有时候我们需要处理一些自动化任务,例如从网页或文档中提取文本,尤其是在面对包含大量图像数据的情况。在这种场景下,如果图像中含有文字,传统的文本处理方法可能无法奏效。针对这种情况,...