




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单元格的引用Sub sel()Dim rng As Range 定义变量类型Set rng = Range("A2:D4, d5:e8") 给rng赋值 。rng.Select 选定变量 改变单元格(变量)颜色为红色Set rng = nothingEnd Sub此程序可以在excel中的selection区域内求和。本例要点为IsNumeric语句的使用。Isnmeric语句为逻辑判断语句,如果isnmeric () 括号中为数字,则逻辑真,否者逻辑假!Sub 区域求和()Dim rDim t As SingleFor Each r In Selection If IsN
2、umeric(r.Value) Then t = t + r.ValueEnd If Next MsgBox "所选区域之和为" & tEnd Sub工作簿和工作表操作方法:创建工作簿 要在 Visual Basic 中创建工作簿,请使用 Add 方法。以下过程将创建一个工作簿。Microsoft Excel 会自动将该工作簿命名为“BookN”,其中“N”是下一个可用的数字。新工作簿将成为活动工作簿。Sub AddOne() Workbooks.AddEnd Sub 创建工作簿的一种更好的方式是将其分配给一个对象变量。在下例中,由 Add 方法返回的 Workbo
3、ok 对象分配给了对象变量 newBook。然后,又设置了 newBook 的若干属性。通过使用对象变量可以轻松地控制新工作簿。Sub AddNew()Set NewBook = Workbooks.Add With NewBook .Title = "All Sales" .Subject = "Sales" .SaveAs Filename:="Allsales.xls" End WithEnd Sub操作方法:引用多张工作表 可用 Array 函数标识一组工作表。以下示例选定了活动工作簿中的三张工作表。Sub Several()
4、 Worksheets(Array("Sheet1", "Sheet2", "Sheet4").SelectEnd Sub操作方法:通过索引号引用工作表 索引号是基于工作表标签在同一类型的工作表中的位置(按从左到右的方式计数)分配给工作表的序号。下面的过程使用 Worksheets 属性激活活动工作簿中的第一个工作表。Sub FirstOne() Worksheets(1).ActivateEnd Sub 如果要处理所有类型的工作表(工作表、图表、模块和对话框编辑表),可使用 Sheets 属性。以下过程激活工作簿中的第四张工作表。S
5、ub FourthOne() Sheets(4).ActivateEnd Sub如果移动、添加或删除工作表,索引顺序可能会发生变化。操作方法:通过名称引用工作表 使用 Worksheets 属性和 Charts 属性可通过名称来标识工作表。下述语句激活活动工作簿中的不同工作表。Worksheets("Sheet1").ActivateCharts("Chart1").Activate DialogSheets("Dialog1").Activate 可以使用 Sheets 属性返回工作表、图表、模块或对话框工作表。Sheets 集合包
6、含所有这些种类的工作表。以下示例将激活活动工作簿中名为“Chart1”的工作表。Sub ActivateChart() Sheets("Chart1").ActivateEnd Sub 注释 嵌入到工作表中的图表是 ChartObjects 集合的成员,而那些位于单独的工作表上的图表则属于 Charts 集合。单元格和区域操作方法:引用工作表上的所有单元格 如果对工作表应用 Cells 属性时不指定索引号,该方法将返回代表工作表上所有单元格的 Range 对象。以下 Sub 过程清除活动工作簿中 Sheet1 上的所有单元格的内容。Sub ClearSheet() Work
7、sheets("Sheet1").Cells.ClearContentsEnd Sub操作方法:使用 A1 表示法引用单元格和区域可使用 Range 属性引用 A1 引用样式中的单元格或单元格区域。下述子例程将单元格区域 A1:D5 的字体设置为加粗。Sub FormatRange() Workbooks("Book1").Sheets("Sheet1").Range("A1:D5") _ .Font.Bold = TrueEnd Sub下表演示了使用 Range 属性的一些 A1 样式引用。引用含义Range(&
8、quot;A1")单元格 A1Range("A1:B5")从单元格 A1 到单元格 B5 的区域Range("C5:D9,G9:H16")多块选定区域Range("A:A")A 列Range("1:1")第一行Range("A:C")从 A 列到 C 列的区域Range("1:5")从第一行到第五行的区域Range("1:1,3:3,8:8")第 1、3 和 8 行Range("A:A,C:C,F:F")A 、C 和 F 列操
9、作方法:引用行和列可用 Rows 属性或 Columns 属性来处理整行或整列。这两个属性返回代表单元格区域的 Range 对象。在下例中,Rows(1) 返回 Sheet1 上的第一行,然后将区域的 Font 对象的 Bold 属性设置为 True。Sub RowBold() Worksheets("Sheet1").Rows(1).Font.Bold = TrueEnd Sub下表举例说明了使用 Rows 和 Columns 属性的一些行和列的引用。引用含义Rows(1)第一行Rows工作表上所有的行Columns(1)第一列Columns("A")
10、第一列Columns工作表上所有的列若要同时处理若干行或列,请创建一个对象变量并使用 Union 方法,将对 Rows 属性或 Columns 属性的多个调用组合起来。下例将活动工作簿中第一张工作表上的第一行、第三行和第五行的字体设置为加粗。Sub SeveralRows() Worksheets("Sheet1").Activate Dim myUnion As Range Set myUnion = Union(Rows(1), Rows(3), Rows(5) myUnion.Font.Bold = TrueEnd Sub操作方法:使用索引号引用单元格通过使用行列索引
11、号,可用 Cells 属性引用单个单元格。该属性返回代表单个单元格的 Range 对象。在下例中,Cells(6,1) 返回 Sheet1 上的单元格 A6,然后将 Value 属性设置为 10。Sub EnterValue() Worksheets("Sheet1").Cells(6, 1).Value = 10End Sub因为可用变量替代编号,所以 Cells 属性非常适合于在单元格区域中循环,如下例中所示。Sub CycleThrough() Dim Counter As Integer For Counter = 1 To 20 Worksheets("
12、Sheet1").Cells(Counter, 3).Value = Counter Next CounterEnd Sub 注释如果要同时更改某个区域中所有单元格的属性(或将方法应用于该区域中的所有单元格),请使用 Range 属性。操作方法:使用快捷表示法引用单元格可用方括号将 A1 引用样式或命名区域括起来,作为 Range 属性的快捷方式。这样就不必键入单词“Range”或使用引号了,如下例中所示。Sub ClearRange() Worksheets("Sheet1").A1:B5.ClearContentsEnd SubSub S
13、etValue() MyRange.Value = 30End Sub操作方法:引用相对于其他单元格的单元格以相对于另一个单元格的方式处理某一单元格的常用方法是使用 Offset 属性。在下例中,将位于活动工作表上活动单元格下一行和右边三列的单元格的内容设置为带双下划线。Sub Underline() ActiveCell.Offset(1, 3).Font.Underline = xlDoubleEnd Sub 注释可录制使用 Offset 属性指定相对引用(而不是绝对引用)的宏。若要这样做,请在“开发工具”选项卡上单击“使用相对引用”,然后单击“录制宏”。若要在单元格
14、区域中循环,请在循环中将变量与 Cells 属性一起使用。本示例以 5 为步长,用 5 到 100 之间的值填充第三列的前 20 个单元格。变量 counter 用作 Cells 属性的行索引。Sub CycleThrough() Dim counter As Integer For counter = 1 To 20 Worksheets("Sheet1").Cells(counter, 3).Value = counter * 5 Next counterEnd Sub操作方法:使用 Range 对象引用单元格如果将对象变量设置为 Range 对象,即可用变量名轻松地操
15、作单元格区域。以下过程将创建对象变量 myRange,然后将活动工作簿中 Sheet1 上的区域 A1:D5 赋予该变量。随后的语句用该变量名称代替 Range 对象,以修改该区域的属性。Sub Random() Dim myRange As Range Set myRange = Worksheets("Sheet1").Range("A1:D5") myRange.Formula = "=RAND()" myRange.Font.Bold = TrueEnd Sub操作方法:引用命名区域用名称比用 A1 样式记号更容易标识单元格区
16、域。若要命名选定的单元格区域,请单击编辑栏左端的名称框,键入名称,再按 Enter。引用命名区域以下示例引用名为“MyBook.xls”的工作簿中名为“MyRange”的区域。Sub FormatRange() Range("MyBook.xls!MyRange").Font.Italic = TrueEnd Sub以下示例引用名为“Report.xls”的工作簿中特定于工作表的区域“Sheet1!Sales”。Sub FormatSales() Range("Report.xlsSheet1!Sales").BorderAround Weight:=x
17、lthinEnd Sub要选定命名区域,请使用 GoTo 方法,该方法将激活工作簿和工作表,然后选定该区域。Sub ClearRange() Application.Goto Reference:="MyBook.xls!MyRange" Selection.ClearContentsEnd Sub以下示例显示对于活动工作簿将如何编写相同的过程。Sub ClearRange() Application.Goto Reference:="MyRange" Selection.ClearContentsEnd Sub在命名区域中的单元格上循环以下示例使用 F
18、or Each.Next 循环语句在命名区域中的每一个单元格中循环。如果该区域中的任一单元格的值超过 Limit 的值,则该单元格的颜色会变为黄色。Sub ApplyColor() Const Limit As Integer = 25 For Each c In Range("MyRange") If c.Value > Limit Then c.Interior.ColorIndex = 27 End If Next cEnd Sub操作方法:引用多个区域如果使用适当的方法,可以轻松引用多个区域。使用 Range 和 Union 方法可引用任意区域组合;使用 Ar
19、eas 属性可引用工作表上一组选定的区域。使用 Range 属性通过在两个或多个引用之间插入逗号,可使用 Range 属性引用多个区域。以下示例清除了 Sheet1 上三个区域的内容。Sub ClearRanges() Worksheets("Sheet1").Range("C5:D9,G9:H16,B14:D18"). _ ClearContentsEnd Sub命名区域使得用 Range 属性处理多个区域更加容易。以下示例可在所有这三个命名区域处于同一工作表时运行。Sub ClearNamed() Range("MyRange, YourR
20、ange, HisRange").ClearContentsEnd Sub使用 Union 方法使用 Union 方法可将多个区域组合到一个 Range 对象中。以下示例创建了名为 myMultipleRange 的 Range 对象,并将其定义为区域 A1:B2 和 C3:D4 的组合,然后将该组合区域的字体设置为加粗。Sub MultipleRange() Dim r1, r2, myMultipleRange As Range Set r1 = Sheets("Sheet1").Range("A1:B2") Set r2 = Sheets
21、("Sheet1").Range("C3:D4") Set myMultipleRange = Union(r1, r2) myMultipleRange.Font.Bold = TrueEnd Sub使用 Areas 属性可用 Areas 属性引用选定的单元格区域或多块选定区域中的区域集合。下述过程计算选定区域中的块数目,如果有多个块,就显示一则警告消息。Sub FindMultiple() If Selection.Areas.Count > 1 Then MsgBox "Cannot do this to a multiple se
22、lection." End IfEnd Sub控件、对话框和窗体操作方法:向文档中添加控件若要向文档中添加控件,请显示“控件工具箱”,再单击要添加的控件,然后单击文档。拖动控件的调整控点直到控件的轮廓大小和形状符合要求。 注释将一个控件(或一组控件)从窗体拖回“控件工具箱”,即可创建一个可重复使用的控件模板。这是一项非常有用的功能,能实现应用程序的标准界面。操作方法:向用户窗体中添加控件要向用户窗体中添加控件,请在“工具箱”中找到要添加的控件,将该控件拖到窗体上,然后拖动控件的调整控点,直到控件的轮廓大小和形状符合要求。 注释将一个控件(或
23、多个“组合”的控件)从窗体拖回“工具箱”,即可创建一个可重复使用的控件模板。这是一项非常有用的功能,能实现应用程序的标准界面。向窗体中添加了控件后,可使用 Visual Basic 编辑器中“格式”菜单上的命令调整控件的对齐方式和间距。操作方法:创建用户窗体要创建自定义对话框,必须创建用户窗体。要创建用户窗体,请单击“Visual Basic 编辑器”中“插入”菜单上的“用户窗体”。可使用“属性”窗口更改窗体的名称、行为和外观。例如,要更改窗体的标题,可设置 Caption 属性。操作方法:向用户窗体中添加控件要向用户窗体中添加控件,请在“工具箱”中找到要添加的控件,将该控件拖到窗体上,然后拖
24、动控件的调整控点,直到控件的轮廓大小和形状符合要求。 注释将一个控件(或多个“组合”的控件)从窗体拖回“工具箱”,即可创建一个可重复使用的控件模板。这是一项非常有用的功能,能实现应用程序的标准界面。向窗体中添加了控件后,可使用 Visual Basic 编辑器中“格式”菜单上的命令调整控件的对齐方式和间距。设置控件属性可以在设计时(即宏运行之前)设置某些控件属性。在设计模式下,右键单击某一控件,然后单击“属性”显示属性窗口。属性名称显示在该窗口的左列中,属性的值显示在右列中。在属性名称的右边输入新值可以设置属性的值。初始化控件属性可通过使用宏中的 Visual Basic
25、 代码,在运行时初始化控件。例如,可填充列表框、设置文本值或设置选项按钮。以下示例使用 AddItem 方法向列表框中添加数据。然后它设置文本框的值并显示窗体。Private Sub GetUserName() With UserForm1 .lstRegions.AddItem "North" .lstRegions.AddItem "South" .lstRegions.AddItem "East" .lstRegions.AddItem "West" .txtSalesPersonID.Text = &quo
26、t;00000" .Show ' . End WithEnd Sub还可以在窗体的 Initialize 事件中用代码设置窗体上控件的初始值。在 Initialize 事件中设置控件的初始值的好处在于:初始化代码与窗体存储在一起。您可以将该窗体复制到其他项目中,这样,当运行 Show 方法来显示对话框时,将初始化其中的控件。Private Sub UserForm_Initialize() UserForm1.lstNames.AddItem "Test One" UserForm1.lstNames.AddItem "Test Two"
27、; UserForm1.txtUserName.Text = "Default Name"End Sub控件和对话框事件将控件添加到对话框或文档后,再添加事件过程以确定控件如何响应用户操作。用户窗体和控件均拥有一组预定义事件。例如,某命令按钮拥有 Click 事件,该事件将在用户单击此命令按钮时发生,用户窗体拥有 Initialize 事件,该事件将在加载窗体时运行。若要编写控件或窗体事件过程,请双击窗体或控件打开模块,然后从“过程”下拉列表框中选择相应事件。事件过程包含控件的名称。例如,命令按钮 Command1 的 Click 事件过程的名称为 Command1_Cli
28、ck。如果为事件过程添加代码后更改该控件的名称,这些代码仍保留使用原名称的过程中。例如,假设在 Commmand1 的 Click 事件中添加代码,然后将该控件重命名为 Command2。双击 Command2 时,在 Click 事件过程中看不到任何代码。您需要将 Command1_Click 中的代码移到 Command2_Click 中。为了简化开发过程,最好在编写代码之前命名控件。显示自定义对话框若要在 Visual Basic 编辑器中测试对话框,请在 Visual Basic 编辑器的“运行”菜单上单击“运行子过程/用户窗体”。若要用 Visual Basic 代码显示对话框,请使用 Show 方法。下例显示了名为“UserForm1”的对话框。Private Sub GetUserName() UserForm1.ShowEnd Sub代码运行时使用控件值可在运行 Visual Basic 代码时设置和返回某些控件属性。下列示例将文本框的 Text 属性设为“Hello”。TextBox1.Text = "Hello"关闭窗体时,用户在窗体中输入的数据将丢失。如果在卸载窗体后返回其中控件的值,则得到的是控件的初始值而非用户输入的值。如果要保存在窗体中输
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络(手机)动漫服务企业制定与实施新质生产力战略研究报告
- 印油企业制定与实施新质生产力战略研究报告
- 出租房企业制定与实施新质生产力战略研究报告
- 2025-2030中国导热粉行业市场现状分析及竞争格局与投资发展研究报告
- 自助餐企业制定与实施新质生产力战略研究报告
- 2025-2030中国容器用干燥剂行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国家用医疗设备行业市场现状供需分析及投资评估规划分析研究报告
- 水塘填土施工方案
- 进口动画片发行服务行业直播电商战略研究报告
- 文印类用品行业直播电商战略研究报告
- 黄帝内经原文及译文
- 某别墅中央吸尘系统设计施工规范说明
- 体育中国(上海大学)超星尔雅学习通网课章节测试答案
- 麒麟小学创建五好关工委工作实施方案
- 2023年民主与科学杂志社招聘笔试备考题库及答案解析
- (2.1)-外科感染-疖、痈
- 医疗机构不良执业行为记分管理-课件
- 沥青路面施工质量控制要点课件
- 当代西方政治思潮课件
- 2022企业冬季安全生产专题PPT知识讲座培训课件
- 考研复习有机化学选择题400题(页尾附答案)
评论
0/150
提交评论