欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    word完整版ExcelVBA编程教程完整版excel高级教程.docx

    • 资源ID:14835212       资源大小:20.03KB        全文页数:14页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    word完整版ExcelVBA编程教程完整版excel高级教程.docx

    1、word完整版ExcelVBA编程教程完整版excel高级教程Excel_VBA_编程教程(完整版)excel高级教程VBA - Excel编程概念之:【单元格和区域】一、如何引用单元格和区域使用Visual Basic的普通任务是指定单元格或单元格区域,然后对该单元格或 单元格区域进行一些操作,如输入公式或更改格式。通常用一条语句就能完成操 作,该语句可标识单元格,还可更改某个属性或应用某个方法。在Visual Basic中,Range 对象既可表示单个单元格,也可表示单元格区域。 下列主题说明了标识和处理 Range对象最常用的方法。用A1样式记号引用单元格和单元格区域 可使用Range属

    2、性来引用A1引用样式中的单元格或单元格区域。下述子程 序将单元格区域A1:D5的字体设置为加粗。Sub FormatRa nge()Workbooks(Book1).Sheets(Sheet1).Ra nge(A1:D5) _.Fo nt.Bold :End Sub下表演示了使用=TrueRange属性的一些 A1样式引用。引用Ran ge(A1)Ra nge(A1:B5)含义单元格A1从单元格A1到单元格B5的区域Ra nge(C5:D9,G9:H16)多块选定区域Ran ge(A:A)Ran ge(1:1)Ran ge(A:C)Ran ge(1:5)A列第一行从A列到C列的区域 从第一行到

    3、第五行的区域Range(1:1,3:3,8:8) 第 1、3 和 8 行Range(A:A,C:C,F:F) A、C 和 F 列用编号引用单元格通过使用行列编号,可用 Cells属性来引用单个单元格。该属性返回代表单个单元格的Range对象。下例中,Cells(6,1)返回Sheet1上的单元格 A6,然 后将Value属性设置为10。Sub En terValue()Worksheets(Sheet1).Cells(6, 1).Value = 10End Sub因为可用变量替代编号,所以 Cells属性非常适合于在单元格区域中循环,如下例所示。Sub CycleThrough()Dim Co

    4、un ter As In tegerFor Cou nter = 1 To 20Worksheets(Sheet1).Cells(Counter, 3).Value = CounterNext Cou nterEnd Sub注意如果要同时更改某一单元格区域中所有单元格的属性或对其应用方法, 可使用Range属性。有关详细信息,请参阅用 A1样式记号引用单元格。引用行和列可用Rows属性或Columns属性来处理整行或整列。这两个属性返回代表单 元格区域的Range对象。下例中,用 Rows返回Sheet1上的第一行,然 后将单元格区域的Font对象的Bold属性设置为True。Sub RowB

    5、old()Worksheets(Sheet1).Rows(1).Fo nt.Bold = TrueEnd Sub下表举例说明了使用 Rows和Columns属性的一些行和列的引用。引用 含义Rows(1) 第一行Rows 工作表上所有的行Colu mn s(1) 第一列Colum ns(A) 第一列Columns 工作表上所有的列若要同时处理若干行或列,请创建一个对象变量并使用 Union方法,将对Rows属性或Columns属性的多个调用组合起来。下例将活动工作簿中第一张 工作表上的第一行、第三行和第五行的字体设置为加粗。Sub SeveralRows()Worksheets(Sheet1)

    6、.ActivateDim myU nion As RangeSet myU nio n = Un io n(Rows(1), Rows(3), Rows(5)myU nion .F on t.Bold = TrueEnd Sub用快捷记号引用单元格可用方括号将A1引用样式或命名区域括起来,作为 Range属性的快捷方式。这样就不必键入单词“ Range或使用引号,如下例所示。Sub ClearRa nge()Worksheets(Sheet1).A1:B5.CIearCo nte ntsEnd SubSub SetValue()MyRa nge.Value = 30End Sub引用命名区域用

    7、名称比用A1样式记号更容易标识单元格区域。若要命名选定的单元格区域, 请单击编辑栏左端的名称框,键入名称,再按 En ter。引用命名区域下例引用了名为“ MyBook.xls的工作簿中的名为“ MyRa nge的单元格区域。Sub FormatRa nge()Ran ge(MyBook.xls!MyRa nge).Fo nt.ltalic = TrueEnd Sub下例引用名为“ Report.xls的工作簿中的特定工作表单元格区域 “ Sheet1!SalesSub FormatSales()Ra nge(Report.xlsSheet1!Sales).BorderArou nd Weig

    8、ht:=xlthinEnd Sub若要选定命名区域,请用 GoTo方法,该方法将激活工作簿和工作表,然后选定该区域Sub ClearRa nge()Applicatio n.Goto Refere nce:=MyBook.xls!MyRa ngeSelecti on. ClearC ontentsEnd Sub下例显示对于活动工作簿将如何编写相同的过程。Sub ClearRa nge()Applicatio n. Goto Refere nce:=MyRa ngeSelecti on. ClearC ontentsEnd Sub在命名区域中的单元格上循环下例用For Each.Next循环语句

    9、在命名区域中的每一个单元格上循环。 如果该区域中的任一单元格的值超过limit的值,就将该单元格的颜色更改为黄色。Sub ApplyColor()Const Limit As In teger = 25For Each c In Ra nge(MyRa nge)If c.Value Limit Thenc.ln terior.ColorI ndex = 27End IfNext cEnd Sub相对于其他单元格来引用单元格处理相对于另一个单元格的某一单元格的常用方法是使用 Offset属性。下例中,将位于活动工作表上活动单元格下一行和右边三列的单元格的内容设置为双下 划线格式。Sub Un d

    10、erli ne()ActiveCell.Offset(1, 3).Fo nt.U nderli ne = xlDoubleEnd Sub注意 可录制使用Offset属性(而不是绝对引用)的宏。在 工具”菜单上,指向 宏”再单击录制新宏”然后单击确定”再单击录制宏工具栏上的 相对引用” 按钮。若要在单元格区域中循环,请在循环中将变量与 Cells属性一起使用。下例以5 为步长,用5至V 100之间的值填充第三列的前 20个单元格。变量 counter 用作Cells属性的行号。Sub CycleThrough()Dim coun ter As In tegerFor coun ter = 1 T

    11、o 20Worksheets(Sheet1).Cells(cou nter, 3).Value = coun ter * 5Next coun terEnd Sub用Range对象引用单元格如果将对象变量设置为 Range对象,即可用变量名方便地操作单元格区域。下述过程创建了对象变量 myRange,然后将活动工作簿中 Sheetl上的单元格 区域A1:D5赋予该变量。随后的语句用该变量代替该区域对象,以修改该区域 的属性。Sub Ran dom()Dim myRa nge As RangeSet myRa nge = Worksheets(Sheet1).Ra nge(A1:D5)myRa

    12、nge.Formula = =RAND()myRa nge.F on t.Bold = TrueEnd Sub引用工作表上的所有单元格如果对工作表应用 Cells属性时不指定编号,该属性将返回代表工作表上所有 单元格的Range对象。下述Sub过程清除活动工作簿中 Sheet1上的所有单 元格的内容。Sub ClearSheet()Worksheets(Sheet1).Cells.ClearCo nte ntsEnd Sub引用多个单元格区域使用适当的方法可以很容易地同时引用多个单元格区域。 可用Range和Union方法引用任意组合的单元格区域;用 Areas属性可引用工作表上选定的一组单

    13、元格区域。使用Range属性通过在两个或多个引用之间放置逗号,可使用Range属性来引用多个单元格区 域。下例清除了 Sheet1上三个单元格区域的内容。Sub ClearRa nges()Worksheets(Sheet1).Ra nge(C5:D9,G9:H16,B14:D18). _ClearC ontentsEnd Sub命名区域使得用 Range属性处理多个单元格区域更为容易。下例可在三个命名 区域处于同一工作表时运行。Sub ClearNamed()Ran ge(MyRa nge, YourRa nge, HisRa nge).CIearCo nte ntsEnd Sub使用Uni

    14、on方法用Union方法可将多个单元格区域组合到一个 Range对象中。下例创建了名为 myMultipleRange 的 Range 对象,并将其定义为单元格区域 A1:B2和C3:D4的组合,然后将该组合区域的字体设置为加粗。Sub MultipleRa nge()Dim r1, r2, myMultipleRa nge As RangeSet r1 = Sheets(Sheet1).Ra nge(A1:B2)Set r2 = Sheets(Sheet1).Ra nge(C3:D4)Set myMultipleRa nge = Union (r1, r2)myMultipleRa nge.

    15、F on t.Bold = TrueEnd Sub使用Areas属性可用Areas属性引用选定的单元格区域或多块选定区域中的区域集合。下述过 程计算选定区域中的块数目,如果有多个块,就显示一则警告消息。Sub Fi ndMultiple()If Selection.Areas.Count 1 ThenMsgBox Ca nnot do this to a multiple selectio n.End IfEnd SubVBA - Excel编程概念之:【单元格和区域】二、在单元格区域中循环在单元格区域中循环使用Visual Basic时,经常需要对某一单元格区域内的每个单元格运行同一段 语句

    16、。为达到这一目的,可组合循环语句和一个或多个方法来标识每个单元格, 一次针对一个单元格,并执行该操作。在单元格区域中循环的一种方法是将 For.Next循环语句与Cells属性配合使用。使用Cells属性时,可用循环计数器(或其他变量或表达式)来替代单 元格索引编号。下例中,变量 counter代替了行号。此过程将在单元格区域C1:C20中循环,将所有绝对值小于 0.01的数字都设置为0 (零)。Sub Rou ndToZero1()For Cou nter = 1 To 20Set curCell = Worksheets(Sheet1).Cells(Counter, 3)If Abs(cu

    17、rCell.Value) 0.01 Then curCell.Value = 0Next Cou nterEnd Sub在单元格区域中循环的另一种简便方法是使用 For Each.Next循环语句和由Range属性指定的单元格集合。在每一次循环过程中, Visual Basic都为下一 个单元格自动设置一个对象变量。下述过程在单元格区域 A1:D10中循环,将所有绝对值小于0.01的数字都设置为0 (零)。Sub Rou ndToZero2()For Each c In Worksheets(Sheet1).Ra nge(A1:D10).CellsIf Abs(c.Value) 0.01 Th

    18、en c.Value = 0NextEnd Sub如果不知道要循环的单元格区域的边界,可用 Curre ntRegi on属性返回活动单 元格周围的区域。例如,下述过程在工作表上运行时,将在活动单元格周围的区 域内循环,将所有绝对值小于 0.01的数字都设置为0 (零)。Sub Rou ndToZero3()For Each c In ActiveCell.Curre ntRegio n. CellsIf Abs(c.Value) 0.01 Then c.Value = 0NextEnd Sub选定和激活单元格使用Microsoft Excel时,通常要先选定单元格或单元格区域,然后执行某一操

    19、 作,如设置单元格的格式或在单元格中输入数值。但在 Visual Basic中,通常在修改单元格之前不必先选定它们。例如,如果要用 Visual Basic在单元格D6中输入公式,就不必先选定单元格 D6,而只需返回Range对象,然后将该对象的Formula属性设置为所需的公 式,如下例所示。Sub En terFormula()Worksheets(Sheet1).Ra nge(D6).Formula =二SUM(D2:D5)End Sub有关使用其他方法在不选定单元格的情况下对其进行控制的示例, 请参阅如何引用单元格和区域。使用 Select方法和 Selection 属性Select方

    20、法激活工作表和工作表上的对象;而 Selection属性返回代表活动工 作簿中活动工作表上的当前选定区域的对象。在成功使用 Selection属性之前,必须先激活工作簿,并激活或选定工作表,然后用 Select方法选定单元格区域(或其他对象)。宏录制器经常创建使用 Select方法和Selection属性的宏。下述Sub过程是 用宏录制器创建的,该过程演示了 Select方法和Selection属性在一起使用的 方法。Sub Macro1()Sheets(Sheet1).SelectRa nge(A1).SelectActiveCell.FormulaR1C1 = NameRa nge(B1)

    21、.SelectActiveCell.FormulaR1C1 = AddressRa nge(A1:B1).SelectSelecti on.Fon t.Bold = TrueEnd Sub下例完成同样的任务,但不激活或选定工作表或单元格。Sub Labels()With Worksheets(Sheet1).Ran ge(A1) = Name.Ra nge(B1) = Address.Ran ge(A1:B1).Fo nt.Bold = TrueEnd WithEnd Sub选定活动工作表上的单元格如果用Select方法选定单元格,应注意 Select方法仅用于活动工作表。如果 从模块中运行S

    22、ub过程,必须先在该过程中激活工作表,然后才能用Select方 法选定单元格区域,否则该方法将失败。例如,下述过程在活动工作簿中将Sheet1中的一行复制到 Sheet2上。Sub CopyRow()Worksheets(Sheet1).Rows(1).CopyWorksheets(Sheet2).SelectWorksheets(Sheet2).Rows(1).SelectWorksheets(Sheet2).PasteEnd Sub激活选定区域内的单元格可用Activate方法激活选定区域内的单元格。即使选定了单元格区域,也只能 有一个活动单元格。下述过程选定了一个单元格区域,然后激活该区

    23、域内的一个 单元格,但并不改变选定区域。Sub MakeActive()Worksheets(Sheet1).ActivateRa nge(A1:D4).SelectRa nge(B2).ActivateEnd Sub如果要处理若干工作表上相同位置的单元格区域,可用 Array函数选定两张或多张工作表。下例设置三维单元格区域的边框格式。Sub FormatSheets()Sheets(Array(Sheet2, Sheet3, Sheet5).SelectRa nge(A1:H1).SelectSelecti on .Borders(xlBottom).L in eStyle = xlDoub

    24、leEnd Sub下例应用FillAcrossSheets 方法,在活动工作簿中,将 Sheet2上的单元格区 域的格式和任何数据复制到该工作簿中所有工作表上的相应区域中。Sub FillAll()Worksheets(Sheet2).Range(A1:H1) _.Borders(xlBottom).L in eStyle = xlDoubleWorksheets.FillAcrossSheets (Worksheets(Sheet2) _.Ra nge(A1:H1)End Sub处理活动单元格ActiveCell属性返回代表活动单元格的 Range对象。可对活动单元格应用Range对象的任何

    25、属性和方法,如下例所示。Sub SetValue()Worksheets(Sheet1).ActivateActiveCell.Value = 35End Sub注意只有活动单元格所在的工作表处于活动状态时,才能处理该活动单元格。移动活动单元格可用Activate方法指定活动单元格。例如,下述过程使单元格 B5成为活动单元格,然后将其字体设置为加粗。Sub SetActive()Worksheets(Sheet1).ActivateWorksheets(Sheet1).Ra nge(B5).ActivateActiveCell.F on t.Bold = TrueEnd Sub注意 若要选定单

    26、元格区域,请用 Select方法。若要使单个单元格成为活动单元格,请使用 Activate方法。可用Ofset属性来移动活动单元格。下述过程在选定区域内的活动单元格中插 入文本,然后将活动单元格右移一格,但并不更改选定区域。Sub MoveActive()Worksheets(Sheet1).ActivateRa nge(A1:D10).SelectActiveCell.Value = Mo nthly TotalsActiveCell.Offset(0, .ActivateEnd Sub选择活动单元格周围的单元格CurrentRegion属性返回由空白行和空白列所包围的单元格区域。 下例中,选定 区域扩充到与活动单元格相邻的包含数据的单元格中,然后用 货币”羊式设置该 区域的格式。Sub Regio n()Worksheets(Sheet1).ActivateActiveCell.Curre ntRegio n.SelectSelectio n.Style = Curre ncy End Sub


    注意事项

    本文(word完整版ExcelVBA编程教程完整版excel高级教程.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开