excel-vbahelp(编辑修改稿)内容摘要:
e(B1).Select = Address Range(A1:B1).Select = True End Sub 下例完成同样的功能,但不用激活或选定工作表或单元格。 Sub Labels() With Worksheets(Sheet1) .Range(A1) = Name .Range(B1) = Address .Range(A1:B1). = True End With End Sub 选定活动工作表上的单元格 如果用 Select 方法选定单元格,就应注意 Select 方法仅用于活动工作表。 从模块中运行 Sub 过程时,必须先在该过程中激活工作表,然后才能用 Select 方法选定单元格区域,否则该方法将失败。 例如,下述过程在活动工作簿中将工作表 ―Sheet1‖中的一行复制到工作表 ―Sheet2‖上。 Sub CopyRow() Worksheets(Sheet1).Rows(1).Copy Worksheets(Sheet2).Select Worksheets(Sheet2).Rows(1).Select Worksheets(Sheet2).Paste End Sub 激活选定区域内的单元格 可用 Activate 方法激活选定区域内的单元格。 即便选定了单元格区域,也只能有一个活动单元格。 下述过程选定了一个单元格区域,然后激活该区域内的一个单元格,但并不改变选定区域。 Sub MakeActive() Worksheets(Sheet1).Activate Range(A1:D4).Select Range(B2).Activate End Sub 1 处理三维区域 如果要处理若干工作表上同一位置的单元格区域,可用 Array 函数同时选定两张或多张工作表。 下例设置三维单元格区域的边框格式。 Sub FormatSheets() Sheets(Array(Sheet2, Sheet3, Sheet5)).Select Range(A1:H1).Select (xlBottom).LineStyle = xlDouble End Sub 下例应用 FillAcrossSheets 方法,在活动工作簿中,将工作表―Sheet2‖上单元格区域的格式和数据复制到该工作簿中所有工作表上的相应区域中。 Sub FillAll() Worksheets(Sheet2).Range(A1:H1) _ .Borders(xlBottom).LineStyle = xlDouble (Worksheets(Sheet2) _ .Range(A1:H1)) End Sub 1 处理活动单元格 ActiveCell 属性返回代表活动单元格的 Range 对象。 可对活动单元格应用 Range 对象的任意属性和方法,如下例所示。 Sub SetValue() Worksheets(Sheet1).Activate = 35 End Sub 注意 只有活动单元格所在的工作表处于活动状态时,才能处理该活动单元格。 移动活动单元格 可用 Activate 方法设置活动单元格。 例如,下述 过程使单元格―B5‖成为活动单元格,然后将其字体设置为加粗。 Sub SetActive() Worksheets(Sheet1).Activate Worksheets(Sheet1).Range(B5).Activate = True End Sub 注意 如果要选定单元格区域,可用 Select 方法。 如果要使单个单元格成为活动单元格,则要用 Activate 方法。 可用 Offset 属性来移动活动单元格。 下述过程在选定区域内的活动单元格中插入 文字,然后将活动单元格右移一列,但并不改变选定区域。 Sub MoveActive() Worksheets(Sheet1).Activate Range(A1:D10).Select = Monthly Totals (0, 1).Activate End Sub 选择活动单元格周围的单元格 CurrentRegion 属性返回由空白行和空白列所包围的单元格区域。 下例中,选定区域扩充到与活动单元格相邻的包含数据的所有单元格,然 后用 ―货币 ‖样式设置扩充后的区域的格式。 Sub Region() Worksheets(Sheet1).Activate = Currency End Sub 在工作表上使用 ActiveX 控件 本帮助主题包括了有关在工作表或图表上使用 ActiveX 控件的特定信息。 有关添加和处理控件的一般信息,请参阅 “ 在文档中使用 ActiveX 控件 ” 和 “ 创建自定义对话框 ”。 在工作表上处理控件时,必须记 住以下几点。 除 ActiveX 控件的标准属性之外,在 Microsoft Excel 中还可使用 ActiveX 控件的下列属性: BottomRightCell、LinkedCell 、 ListFillRange 、 Placement 、 PrintObject 、TopLeftCell 和 ZOrder。 这些属性可用 ActiveX 控件的名称来返回或设置。 下例滚动工作簿窗口,使 CommandButton1 位于窗口的左上角。 Set t = With ActiveWindow .ScrollRow = .ScrollColumn = End With 当 ActiveX 控件处于激活状态时,将禁用某些 Microsoft Excel Visual Basic 方法和属性。 例如,当某一控件激活时,就不能使用 Sort 方法,故下述按钮单击事件处理过程中的代码将失败(因为用户单击按钮后,该按钮就处于激活状态)。 Private Sub Range(a1:a10).Sort Key1:=Range(a1) End Sub 可通过先激活工作表上的其他元素的方法来绕过这种问题。 例如,下列代码可对单元格区域排序: Private Sub Range(a1).Activate Range(a1:a10).Sort Key1:=Range(a1) End Sub 当用户通过双击鼠标来编辑内嵌在其他应用程序的文档中的 Microsoft Excel 工作簿时,该工作簿上的控 件将不会正常工作。 如果用户是通过用右键单击工作簿,然后选中快捷菜单上的 ―打开 ‖命令来编辑工作簿的话,工作簿上的控件就能正常工作了。 用 Microsoft Excel Microsoft Excel 工作簿时,将丢失 ActiveX 控件信息。 在工作表上 ActiveX 控件的事件处理过程中, Me 关键字所指向的是工作表,而非控件。 用 Visual Basic 添加控件 在 Microsoft Excel 中,用 OLEObjects 集合中的 OLEObject 对 象代表 ActiveX 控件(所有的 OLEObject 对象也包含在 Shapes 集合中)。 如果要用编程的方式向工作表添加 ActiveX 控件,可用 OLEObjects 集合的 Add 方法。 下例向第一张工作表添加命令按钮。 Worksheets(1). , _ Left:=10, Top:=10, Height:=20, Width:=100 通过 Visual Basic 使用控件属性 绝大多数情况下,可在 Visual Basic 代码中用名称引用 ActiveX 控件。 下例修改了控件 ―CommandButton1‖的标题。 = Run 请注意,当在控件所在的工作表的类模块之外使用控件的名称时,必须用工作表的名称限定该控件的名称。 如果要修改在 Visual Basic 代码中所用的控件的名称,可先选定该控件,然后在 ―属性 ‖窗口中设置控件的 ―(名称) ‖属性。 因为 ActiveX 控件也可用 OLEObjects 集合中的 OLEObject 对象代表,所以也 可用该集合中的对象来设置控件的属性。 下例设置了控件 ―CommandButton1‖的左边位置。 Worksheets(1).OLEObjects(CommandButton1).Left = 10 那些不属于 OLEObject 对象的属性的控件属性,可通过由 Object 属性返回的实际控件对象来设置。 下例设置了控件―CommandButton1‖的标题。 Worksheets(1).OLEObjects(CommandButton1). _ = run me 因 为所有的 OLE 对象也是 Shapes 集合的成员,所以也可用该集合设置若干控件的属性。 下例对齐第一张工作表上的所有控件的左边框。 For Each s In Worksheets(1).Shapes If = msoOLEControlObject Then = 10 Next 使用 Shapes 和 OLEObjects 集合的控件名称 工作表上的 ActiveX 控件具有两个名称:其一是包含该控件的形状的名称,当查看工作表时,可在 ―Name‖框中看到此名称;其二是控件的代 码名称,在 ―属性 ‖窗口的 ―(名称) ‖框右边的单元格中可看到此名称。 第一次向工作表中添加控件时,形状名称和代码名称是相同的。 但是,如果更改其中之一(形状名称或代码名称),另一个名称并不会自动随之更改。 对于控件的事件过程,其名称中所使用的是控件的代码名称。 但是,当从工作表的 Shapes 或 OLEObjects 集合中返回控件时,必须使用形状名称(而不是代码名称),以便按名称引用控件。 例如,假设向工作表中添加了一个复选框,其默认形状名称和默认代码名称都是 ―CheckBox1‖。 如果此后在 ―属性 ‖窗口的 ―(名 称) ‖旁键入了―chkFinished‖,从而将控件的代码名称更改为 ―chkFinished‖,则在事件过程名称中必须使用 chkFinished,而仍然应使用 CheckBox1 从 Shapes 或 OLEObject 集合中返回控件,如下例所示。 Private Sub chkFinished_Click() (CheckBox1). = 1 End Sub 2 在文档中使用 ActiveX 控件 就如同可向自定义对话框中添加 ActiveX 控件一样,也可向文档直接添加控件,从而可以为用户提供直接同宏打交道的的手段,而使用户不必被对话框所干扰。 可用下列过程向文档添加 ActiveX 控件。 有关在 Microsoft Excel 中使用 ActiveX 控件的特定信息,请参阅在工作表上使用 ActiveX 控件。 1) 向文档中添加控件 显示 ―控件工具箱 ‖,单击要添加的控件,然后单击文档。 2) 置控件的属性 在设计模式下,用右键单击该控件,然后单击快捷菜单内的 ―属性 ‖命令以显示属性窗口。 3) 始化控件 可在某一过程中初始 化控件。 4) 编写事件过程 所有的控件都有一系列的预定义事件。 例如,当用户单击命令按钮时,该命令按钮就引发一个 Click 事件。 可以编写事件发生时所运行的事件处理过程。 5) 码运行时使用控件的值 有些属性可在运行时进行设置。 2 创建自定义对话框 可用下述过程创建自定义对话框。 1) 创建用户窗体 在 Visual Basic 编辑器中,单击 ―插入 ‖菜单内的 ―添加用户窗体 ‖命令。 2) 向用户窗体中添加控件 在 ―工具箱 ‖中找到要添加的控件,并将其拖到窗体中。 3) 设置控件的属性 在设计 模式下,用右键单击该控件,然后单击快捷菜单内的 ―属性 ‖命令以显示属性窗口。 4) 初始化控件 可在窗体显示之前的某一过程中初始化控件,或者在窗体的 Initialize 事件中添加初始化代码。 5) 编写事件过程 所有的控件都有一系列的预定义事件。 例如,当用户单击命令按钮时,该命令按钮就引发一个 Click 事件。 可以编写事件发生时所运行的事件处理过程。 6) 显示对话框 可用 Show 方法显示用户窗体。 7) 代码运行时使用控件的值 有些属性可在运行时进行设置。 用户对对话框所作的修改,在对话框关 闭后将丢失。 2 在窗体上使用 Microsoft Office Web 组件 在 Visual Basic 或 Visual Basic for Applications 中,可以向用户窗体中添加 Microsoft Office Web 组件,其方法与向用户窗体中添加任何其他 ActiveX 控件相同。 注意,虽然在设计窗体时可以使用―属性工具箱 ‖,但却不能在运行时从模式窗体或对话框中的 Microsoft Office Web 组件中显示 ―属性工具箱 ‖。 对于在非 V。excel-vbahelp(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。