77范文网 - 专业文章范例文档资料分享平台

VBA收集(7)

来源:网络收集 时间:2019-04-05 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

expression.Offset

expression 必需。该表达式返回一个 TickLabels 对象。 示例

应用于 Range 对象。

本示例激活 Sheet1 上活动单元格向右偏移三列、向下偏移三行处的单元格。 Worksheets(\

ActiveCell.Offset(rowOffset:=3, columnOffset:=3).Activate

本示例假定 Sheet1 中包含一个具有标题行的表格。本示例先选定该表格,但并不选择标题行。运行本示例之前,活动单元格必须位于表格中。

Set tbl = ActiveCell.CurrentRegion

tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, _ tbl.Columns.Count).Select 应用于 TickLabels 对象。

如果偏移量小于 500,则本示例将 Chart1 中数值轴上标签之间的距离设置为当前距离的两倍。 With Charts(\ If .Offset < 500 then .Offset = .Offset * 2 End If End With 80、新建工作簿

参阅特性若要在 Visual Basic 中创建新的工作簿,请使用 Add 方法。下述过程创建了新的工作簿。Microsoft Excel 自动将该工作簿命名为―BookN‖,其中―N‖是下一个可用的数字。新工作簿将成为活动工作簿。 Sub AddOne() Workbooks.Add End Sub

创建新工作簿更好的方法是将其分配给一个对象变量。下例中,由 Add 方法返回的 Workbook 对象分配给了对象变量 newBook。然后,又设置了 newBook 的若干属性。使用对象变量可以很容易地控制新工作簿。 Sub AddNew()

Set NewBook = Workbooks.Add With NewBook .Title = \ .Subject = \

.SaveAs Filename:=\ End With End Sub 81-100

81、Rem:将活动单元格从A5移到A6,并将A6单元格的数值保存到x变量中 range(\此命令就是选择A5单元格 Activecell.offset(1,0).select X=activecell.value

82、用代码窗口中可用F8运行宏,Alt+F8显示宏对话框,Alt+F11可以打开VBE编辑器

83、Option Explicit 在程序代码前使用该命令,则变量要在声明后才能使用,否则编译程序无法识别该变量,从而产生错误信息

84、Load语句用于加载窗体,加载后将占用内存,Hide方法使窗体隐藏,但仍在内存中,故不再使用窗体时应使用Uuload语句及时卸载,将内存交还系统,Show方法用来显示一个窗体,格式: 窗体名称.show 模式,模式可取0或1,为1时,不能到其他窗体操作,只有关闭该窗体后才能对其他窗体操作

85、控件的命名规则,通常使用3个字母的前缀命名控件,如Label的前缀为lbl,初学者最好养成良好的命名习惯 86、按下Ctrl+Enter键单元格不移动。

87、按下F2键直接在单元格内编辑,不需动鼠标 88、命令按钮不支持双击(Dbclick)事件 89、Private Sub CheckBox1_Click() If CheckBox1.Value Then MsgBox \Else

MsgBox \End If End Sub

本段的主要用意在于明白了If CheckBox1.Value Then与If CheckBox1.Value=True Then 90、Timer是计时器,功能是按指定时间间隔产生定时事件

91、在一个语句要分行显示的地方加一个或多个空格,加一个下划线_然后回车转入下一物理行,作用在于代码一行写不下时续行,程序代码中一行较短时可加:把多行连成一行显示 92、if a>15 then b=10 else b=100 end if

可改为如下if语句 b=iif(a.15,10,100)

93、F12用于启动另存为对话框

94、x=shell(calc.exe,1)可打开计算器程序

95、call语句格式:Call<子过程名>[(<实际参数表>)]如果过程本身没有参数,则实参和括号可省略,并报参数放在括号中,另一个调用Sub过程的方法是: <子过程名>[<实际参数表>]比前一个少了Call和括号,子过程调用语句的实参在数目、类型、排列上与子过程定义语句的形式参数表一致 96、自定义函数一例,求abc三个数的平均

Private Function Passed(By Val a As integer, By Val b As integer, By Val c As integer) ave=(a+b+c)/3 End Sub

在定义时必须向函数过程名赋值,而子程序名不能赋值

97、在工作表任意单元格输入=Cell(\可获得文件的完整路径、文件名和工作表名

98、在打开Excel文件时按住Shift键,将不运行VBA过程,可防止宏病毒,单击文件 关闭命令,在点关闭时按住Shift键将在不运行VBA过程的情况下关闭工作簿,可防止关闭时自动运行的宏病毒。 99、让一个变量得到单元格A1到A5的总和(变量设为X), X=Sum(Range(―A1:A5‖)) 错

X=Application.WorksheetFunction.Sum(Range(―A1:A5‖))正确

也就是说必须通过Application的WorksheetFunction属性间接调用工作表函数 100、Rem和'是注释符,注释语句是非执行语句,要养成对代码注释的习惯。

101-120

101、ActiveSheet.Next.Select选择活动工作表下一张工作表, ActiveSheet.Previous.Select选上一张

102、单元格B2:B10数值不全为空用IF语句表达 For Each cl in ActiveSheet.Range(\If cl.Value <> \ msgbox \有非空单元格\Exit For endif next

103、用Range引用单元格和单元格区域 Range(\单元格A1

Range(\ 从单元格A1到B5区域 Range(\ 多块的选定区域 Range(\ A列 Range(\ 第一行

Range(\ A列到C列的区域 Range(\ 第1行到第5行的区域 Range(\ 第1、行 Range(\ A列、C列 104、用Cells及编号引用单元格 Cells(6,1)A6单元格

如果对工作表用Cells属性时不指定索引,表示引用工作表上的所有单元格,下例清除活动工作簿中工作表Sheet1上所有单元格的内容

Worksheets(―sheet1‖).Cells.ClearContents

105、可用变量代入单元格索引值,故Cells属性非常适用于在单元格区域中循环,如: For counter=1 To 20

Worksheets(―sheet1‖).Cells(counter,3).value=counter Next counter 106、引用行或列 Rows(1) 第1行 Rows 所有行 Columns(1) 第1列 Columns(―C‖) 第3列 Columns 工作表上所有列

106、可用方括号将A1样式的引用或命名区域的名称括起来,作为Range属性的快捷方式,这样就不必键入Range 和引号,如

Worksheets(―sheet1‖).[A1:B2].clearContents [MyRange].Value=30

107、用Offset处理按相对于其他单元格的某一位置的常用办法是使用Offset属性,本例将活动工作表上活动单元格下一行和右边三列的单元格的内容设置为下划线,如: ActiveCell.Offset(1,3).font.Underline=XlDouble

108、把别的工作表Sheet2数据,读到当前工作表的方法列举 1)[A1]=Sheet2.[A1] 把Sheet2A1单元格的数据,读到A1单元格 2)[A2:A4]=Sheet2.[B1] 把Sheet2单元格B1的数据读到A2:到A4单元格

3)Range(B1‖)=Sheet2.Range(―B1‖) 把Sheet2工作表单元格B1数据,读到B1单元格

4)Range(―C1:C3‖)=Sheet2.Range(―C1‖) 把Sheet2工作表单元格C1数据,读到C1:C3 5)Cells(1,4)=Sheet2Cells(1,4) 把Sheet2工作表单元格D1数据,读到D1 单元格

6)Range(Cells(1,5),Cells(5,5)=Sheet2.Cells(1,5) 把sheet2工作表单元格E1数据,读到E1:E5单元格 7)Selection.Value=Sheet2.[F1] 把Sheet2 工作表单元格[F1]数据,读到任何你点选的单元格 109、Sub前有个Private表示是私有子程序,这个子程序不会出现在―宏‖对话框中 110、Sub test() ActiveSheet.Calculate End Sub重算活动工作表

111、编程前应该尽可能地多了解Excel对象的属性、方法

112、每一个Excel对象的属性、方法的调用都要通过OLE连接的一个或多个调用,这些OLE调用都是需要时间的,减少使用对象引用能加快VBA代码的运行 113、使用With语句

Workbooks(1).Sheets(1).Range(―A1:A1000‖).font.Name=‖Pay‖ Workbooks(1).Sheets(1).Range(―A1:A1000‖).Font.Fontstyle=‖Bold‖… 改用With语句则运行速度加快

例:With Workbooks(1).Sheets(1).Range(―A1:A1000‖).font .Name=‖Pay‖ .Fontstyle= Bold‖ … End With

114、用set设置对象变量,以减少对象的访问,如: Set MyRange=Workbooks(1).Sheets(1) Mysheet.Range(―A1‖).Value=100 Mysheet.Range(―A2‖).Value=200

比直接用Workbooks(1).Sheets(1). Range(―A1‖).Value=100 Workbooks(1).Sheets(1). Range(―A2‖).Value=200运行快 115、在循环中要尽是减少对象的访问 For k=1 To 100 Sheets(―sheet1‖).select

Cells(k,1).value=Cells(1,1).Value Next k 更快的代码是

set TheValue=Cells(1,1).Value Sheets(―sheet1‖).select For k=1 To 100

Cells(k,1).value=TheValue 116、减少对象的激活和选择

如果你是通过录制宏的来学习VBA的程序里一定充满了对象的激活和选择,如Workbooks(XXX).active 、Sheets(XXX).Select 、Range(XXX).Select等,但事实上大多数情况下这些操作不是必须的,如 Sheets(―sheet1‖).Select Range(―A1‖).Value=100 Range(―A2‖).Value=200 可改为With sheets(―Sheet3‖) .Range (―A1‖)=100 .Range (―A2‖)=200

117、关闭屏幕更新是提高运行速度的最有效的办法,推荐使用

Application.ScreenUpdate=False 程序运行后再改回来

118、VBA中默认的数据类型是Variant,你必须选择使用何种数据类型,因为Variant数据类型占用存储空间较大(16或22字节)而且它将影响程序的性能,Vba必须识别Variant类型的变量中存储了何种数据类型。 119、再列一个自定义函数计算价格为10%为运费的简单函数例子 Public Function Shipping(Price) Shipping=Price*0.1 End Function

如还是不懂的话,将上述过程复制到模块中,然后在工作表任意单元格中输入=Shipping(C1)你就会明白 120、ActiveWindow.DisplyGridlines=False 此句用来关闭网格线。

121、100个错误类型

1 应用程序定义或对象定义错误 2 应用程序定义或对象定义错误 3 无 GoSub 返回

4 应用程序定义或对象定义错误 5 无效的过程调用或参数 6 溢出 7 内存溢出

8 应用程序定义或对象定义错误 9 下标越界

10 该数组被固定或暂时锁定 11 除数为零

12 应用程序定义或对象定义错误 13 类型不匹配 14 溢出串空间

15 应用程序定义或对象定义错误 16 表达式太复杂 17 不能执行所需的操作 18 出现用户中断

19 应用程序定义或对象定义错误 20 无错误恢复

21 应用程序定义或对象定义错误 22 应用程序定义或对象定义错误 23 应用程序定义或对象定义错误 24 应用程序定义或对象定义错误 25 应用程序定义或对象定义错误 26 应用程序定义或对象定义错误 27 应用程序定义或对象定义错误 28 溢出堆栈空间

29 应用程序定义或对象定义错误 30 应用程序定义或对象定义错误 31 应用程序定义或对象定义错误 32 应用程序定义或对象定义错误

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库VBA收集(7)在线全文阅读。

VBA收集(7).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/573144.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: