在线学习
http://excel.walk-nie.com/vba-sample/vba-sample-ctrl/803
基础学习看附件 vba学习文档.rar
一、用VBA为选定的单元格加上边框
Cells(1, 3).Select //当前选中的第一行第三列的单元格为例。 Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone With Selection.Borders(xlEdgeLeft)//为左边上边框。 .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeTop)//为上边上边框。 .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeBottom)//为下边上边框。 .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeRight)//为右边边上边框。 .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With
加边框之前最好用宏录制一下整个操作过程就了解流程了。
1. 虽然用录制代码的方法可以很方便的获得设置单元格边框的代码,但可以看出,得出的代码非常复杂,实际上就是对每一步操作进行录制得来的。
2. 利用Range 对象的Borders 属性及BorderAround 方法分别可以设置单元格区域的内部线框及外部边框。
3. Borders 属性的属性值及BorderAround 方法的参数值可以复制刚才录制的代码而得。
下面是利用Range和borders的示例演示
Dim rng As Range Set rng = Range("A1:B6") With rng.Borders .LineStyle = xlContinuous//边框设置 .ColorIndex = xlAutomatic//颜色设置 .TintAndShade = 0 .Weight = xlHairline//是否粗细 End With rng.BorderAround xlContinuous, xlMedium, xlColorIndexAutomatic
2:vba设置Excel单元格左对齐、右对齐、居中对齐、字体等
左对齐、右对齐、居中对齐
'选择区域或单元格右对齐
Selection.HorizontalAlignment = Excel.xlRight
'选择区域或单元格左对齐
Selection.HorizontalAlignment = Excel.xlLeft
'选择区域或单元格居中对齐
Selection.HorizontalAlignment = Excel.xlCenter
固定区域的对齐方式的代码:
Range("A1:D9"). HorizontalAlignment = Excel.xlLeft
字体、字号、字型
'当前单元格字体为粗体
Selection.Font.Bold = True
'当前单元格字体为斜体
Selection.Font.Italic = True
'当前单元格字体为宋体20号字
With Selection.Font
.Name = "雅黑体"
.Size = 20
End With
VBA控制Excel的边框线,打印区域需要用到的函数有Borders.LineStyle ,
Sheet.Range(from,to).Borders[].LineStyle=1
Sheet.Range(cells(x1,y1),cells(x2,y2).Borders.LineStyle
Borders[]里面也可以有参数 ,如edgetop(顶部),edgebottom(底部)之类的
LineStyle的属性 有xlLineStyleNone(clear Line),1(单行线),5(虚线),xlDouble(双线),xlDouble取value值也是可以的
打印区域设置: ActiveSheet.PageSetup.PrintArea = Range(Cells(1, 1), Cells(ShtRow_End, SubjCnt + 2 )).Address
二、vba字符串函数
Trim(string) 去掉string左右两端空白
Ltrim(string) 去掉string左端空白
Rtrim(string) 去掉string右端空白
Len(string) 计算string长度
Left(string, x) 取string左段x个字符组成的字符串
Right(string, x) 取string右段x个字符组成的字符串
Mid(string, start,x) 取string从start位开始的x个字符组成的字符串
Ucase(string) 转换为大写
Lcase(string) 转换为小写
Space(x) 返回x个空白的字符串
Asc(string) 返回一个 integer,代表字符串中首字母的字符代码
Chr(charcode) 返回 string,其中包含有与指定的字符代码相关的字符
InStr() 例如:
Dim a As String a = "中华人民共和国" If InStr(a, "国") > 0 Then MsgBox ("a有") Else MsgBox ("a无") End If
VBA中如何表示一个字符串包含另一个字符串
instr 函数 instr(a,b),返回值为0或者其他数值。0代表a 中,不包含b .数值代表 b 在a中出现的位置。如:instr("12","2")=2
InStr(S1,S2)>0说明S1中包含S2
InStr(S1,S2)=0说明S1中不包含S2
三、VBA 取到范围内所有值,并去重复
Sub test() Dim ar Dim d As Object Dim i As Integer Set d = CreateObject("scripting.dictionary") '创建 字典 对象 ar = Range("a2:a" & Range("a65536").End(xlUp).Row) '将 数据写入 数组 Ar For i = 1 To UBound(ar) '循环 数组 If ar(i, 1) <> "" Then '如果 不是 空 d(ar(i, 1)) = "" '添加到字典中,"字典自身具有相同的内容不重复添加功能" End If Next Range("e2:e65536").ClearContents '清除 E2:E5536 区域中的内容 Range("e2").Resize(d.Count) = Application.Transpose(d.keys) '以 E2 为基点,扩展 D.count 行的数据 为 字典 转置 后的内容 End Sub
LBound(数组) 可以得到数组的最小“学号”(下标)
UBound(数组)可以得到数组中的最大“学号”(上标)
Sub aa() Dim arr arr = Range("a1:a10") MsgBox LBound(arr) MsgBox UBound(arr) End Sub
上面是针对一维数组,如果是二维数组呢?
LBound(数组,2) 可以得到数组中第二维最小“学号”(下标)
UBound(数组,2)可以得到数组中第二维的最大“学号”(上标)
Sub aa() Dim arr arr = Range("a1:d10") MsgBox LBound(arr,2) MsgBox UBound(arr,2) End Sub
四、VBA String 转Integer ⇒ val()
VAL是返回包含于字符串内的数字,字符串中是一个适当类型的数值。
在它不能识别为数字的第一个字符上,停止读入字符串。那些被认为是数值的一部分的符号和字符,例如美圆号与逗号,都不能被识别。但是函数可以识别进位制符号 &O(八进制)和 &H(十六进制)。空白、制表符和换行符都从参数中被去掉。
Val("2457") 返回 2457
Val(" 2 45 7") 返回 2457
Val("24 and 57") 返回 24
InStr 函数来查找某字符串在另一个字符串中首次出现的位置。
五、VBA 获取远程 excel 的 sheet
public sub remoteFile() dim a as string, b as worksheet a ="\\100.100.100.100\e:\file\data.xls" Workbooks.Open Filename:= a '打开工作簿 Set b = Workbooks("data.xls").Worksheets("lab") '打开工作簿下的工作表 end sub
六、VBA 单精度浮点数 (Single), 双精度浮点数 (Double), 财务上使用的:Currency 类型
通常单精度浮点数 (Single) 在计算机中是用 4个字节来表示的,范围为:负数 -3.402823 * 10^38 ~ -1.401298 * 10^(-45),正数 1.401298 * 10 (-45) ~ 3.402823 * 10 ^38
而双精度浮点数 (Double) 在计算机中是用 8个字节来表示的,范围为:负数 -1.79769313486232 * 10^308 ~ -4.94065645841274 *10^ (-324),正数4.94065645841274 *10^ (-324) ~ 1.79769313486232 * 10^308
在 VBA 中还有一种数据类型是专为财务上使用的:Currency 类型。它在计算机中也是用 8个字节来存储的,范围为:-922,337,203,685,477.5808 到 922,337,203,685,477.5807。
七、循环 for each next 循环的用法
Sub test7() '激活工作表 Worksheets("Sheet1").Activate Dim i As Integer i = 1 For Each C In Range("A22:I30") C.Value = i i = i + 1 Next C End Sub
相关推荐
这篇“Excel VBA学习笔记”涵盖了多个关键知识点,下面将对这些内容进行详细讲解。 一、VBA基础 1. **环境介绍**:VBA开发环境包括VBE(Visual Basic Editor)编辑器,它提供了代码编辑器、项目浏览器、对象浏览器...
Excel VBA(Visual Basic for Applications)是Microsoft Excel中的一个强大工具,它允许用户通过编写代码来自定义工作簿、工作表和图表的功能。VBA的学习可以帮助你实现自动化任务,提高工作效率,进行复杂的数据...
这个“VBA学习资料大合集”显然是一个包含多个文件的压缩包,旨在帮助用户深入理解和掌握VBA的基础及高级技巧。 在Excel VBA的学习中,你需要了解以下关键知识点: 1. **基本概念**:理解VBA是什么,它的作用和...
总之,"Excel VBA 学习资料"提供了一个全面的学习路径,从基础到高级,从理论到实践,帮助你掌握Excel VBA的方方面面。通过系统地学习这套资料,你不仅能够编写出高效的宏,还能成为Excel自动化处理的专家,解决各种...
VBA(Visual Basic for Applications)是Microsoft Office套件中内置的一种编程语言,它允许用户自定义功能、自动化任务,以提高工作效率。本压缩包包含的资源是关于VBA的学习文档,主要聚焦在Excel和Word两个应用...
VBA(Visual Basic for Applications)是Microsoft Office...记住,实践是检验真理的唯一标准,多动手、多思考,VBA学习之旅将会越来越顺畅。在VBA学习基础的教程中,通常会涵盖这些知识点,逐步引导你进入编程的世界。
### VBA学习精要 #### 1. 什么是VBA?为什么学习VBA? VBA,全称为Visual Basic for Applications,是一种嵌入式编程语言,主要用于Microsoft Office等应用程序的自动化和扩展功能。它允许用户创建自定义解决方案...
本压缩包“VBA学习资料.zip”正是针对初学者的一份宝贵资源,包含了一系列文档,旨在帮助学习者掌握VBA的基础知识及其在Office中的应用。 首先,"word排版技巧整理.doc"可能是关于如何利用VBA进行Word文档格式化的...
VBA,全称为Visual Basic for Applications,是在Microsoft Office系列应用中内置的一种编程语言。用户可以通过VBA进行宏编程,实现对Office应用程序的自定义和自动化操作。VBA基于VBScript,但提供了更强大的功能和...
了解对象模型也是VBA学习的关键。Office应用程序如Excel、Word都有自己的对象模型,其中包含各种对象,如Workbook、Worksheet、Range等。通过这些对象,你可以访问和操作应用程序的各个部分。例如,使用Range对象,...
### VBA学习基础知识点 #### 一、VBA概述 **1.1 VBA是什么** - **定义**:VBA(Visual Basic for Applications)是一种基于Visual Basic编程语言的子集,用于实现Microsoft Office等应用程序的自动化操作。它使得...
### VBA学习资料知识点概述 #### 一、VBA简介 - **VBA**(Visual Basic for Applications)是一种由微软开发的事件驱动编程语言,它作为Microsoft Office套件中的一个组成部分,广泛应用于Excel、Word等Office应用...
VBA学习解释器是一个专门为初学者和进阶者设计的资源,旨在帮助他们更好地理解和掌握VBA编程。 在Excel中,VBA程序解释器是内置的一部分,它负责执行VBA代码。当你编写了一个VBA宏或者模块后,这个解释器会读取并...
标题中的“VBA学习软件”指的是旨在帮助用户学习和掌握Visual Basic for Applications(VBA)的应用软件。VBA是一种编程语言,广泛应用于Microsoft Office等应用程序的宏编程和自定义自动化。该软件以免费的形式提供...
在Excel-VBA的学习中,掌握一系列实用技巧将极大地提高你的编程效率和解决问题的能力。以下是一些关键知识点的详细说明: 1. **Range(单元格)对象** - **单元格的引用方法**:在VBA中,我们可以通过多种方式引用...
Excel VBA(Visual Basic for Applications)是Microsoft Excel内置的一种编程语言,它允许用户自定义工作表函数、自动化任务、...同时,结合官方文档和其他教程资源,理论与实践相结合,会让你的VBA学习之路更加顺畅。
VBA高级开发指南是一份专门针对有经验的VBA学习者的资源,旨在深入探索VBA的各种特性和应用。 一、VBA基础 在VBA中,你需要了解基本的编程概念,如变量、常量、数据类型(如Integer、String、Double等)、运算符和...