.HasMinorGridlines = False ' End With
With mychart.Chart.Axes(xlValue)
.MinimumScale = 0 ' .MaximumScale = 200 ' .MinorUnit = 10 ' .MajorUnit = 50 ' 是否显示次网格线
定义y坐标轴最小值 定义y坐标轴最大值 定义次刻度线单位 定义主刻度线单位 .CrossesAt = 0 'Y
轴交汇点设为0
.MajorTickMark = xlInside ' .MinorTickMark = xlInside ' .HasMajorGridlines = False ' .HasMinorGridlines = False ' End With
Set mychart = Nothing ' Application.ScreenUpdating = True ' Sub
删除图表对象变量 恢复屏幕刷新 End 主刻度线方向朝内 次刻度线方向朝内 是否显示主网格线 是否显示次网格线
2)根据工作表一的 A1:B10数据生成柱状图嵌入表一,位置为数据右下角位置。
Sub Pic2() On Error Resume Next
Application.ScreenUpdating = False Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceDat a Source:=Sheets("Sheet1").Range("A1:B10"), PlotBy:=xlColumns ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
ActiveSheet.Shapes(ActiveSheet.Shapes.C ount).Left = ActiveSheet.Cells(11, 3).Left '定位于单元格 (10,2)右下角
ActiveSheet.Shapes(ActiveSheet.Shape s.Count).Top = ActiveSheet.Cells(11, 3).Top Application.ScreenUpdating = True End Sub
第三章 Excel VBA高级使用
通过以上章节的学习,估计大家都够能使用 Excel VBA进行基本的数据计算、数据汇总、数据的保存、 数据库的使用和绘制图表了,这些功能已经可以解决我们平时所遇到的大多数问题。但有时还会遇到一些 较难的问题,如计算机硬件或底层方面的使用。这些问题可以使用本章介绍的Windows API来解决。
Windows API是Windows的 32位应用程序编程接口,是一系列复杂函数、消息和结构的集合。这种
集合被包含在一个后缀名为 DLL的动态连接库文件中,装有Windows系统的电脑都有标准的Windows动 态连接库文件。编程人员可用不同编程语言的引用方法来使用它们,进而编制出解决
Windows系统底层问 题的应
用程序。Excel VBA中使用 API可以让我们轻松实现一些高级功能,比如多媒体播放等,所以有必 要了解一些 API在 Excel VBA中的使用。一般来讲,只有会了Windows API才算真正进入了Windows系 统下程序开发的大门。
第一节 Win API的使用
Windows API 是英文Application Programming Interface的缩写,Win32 API也就是微软Windows 32位 操作系统的应用程序编程接口。我们可以认为 API函数是构筑整个Windows框架的基石,在它的下面是 Windows的操作系统核心,而它上面则是Windows的应用程序。在 Excel VBA中使用 API就是为了开发 出实用高效的应用程序,而 VBA下使用 API函数需进行API函数的堀明才能使用。 一、堀明 API函数 堀明 VBA所在文件之外的过程或函数就能够访问
Windows API或其它外部动态连接库( DLL)。在堀 明了
DLL文件中的过程
过程或函数后,其调用方法与 VBA自己的过程或函数调用方法相同。要堀明一个
或函数,需要在代码窗口增加一个 Declare语句。例如取的计算机名礀的函数 GetComputerName ,作如 下堀明:
Private Declare Function GetComputerName Lib "kernel 32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long 或 Public Declare Function GetComputerName Lib "kernel 32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
以上堀明的不同在于所堀明函数的使用范围, 完毕后就能在程序中使用此函数。
Private Declare堀明的是模块私有,只能在堀明它的模 块内调
用; Public Declare堀明的是全局函数,可以在应用程序的任何地方调用,一般我们使用 Public Declare 堀明。堀明
二、使用 API函数或过程
以 API函数 Beep来说明 API函数的几种使用方法, Beep函数的介绍如下: 【 VBA堀明】 Public Declare Function Beep Lib "kernel32" Alias "Beep" (ByVal dwFreq As Long, ByVal dwDuration As
Long) As Long 【说明】 用于生成简单的堀音 【返回值】 Long,非零表示成功,否则返回零。 【参数表】 dwFreq --------- Long,堀音频率(从 37Hz到32767Hz)。 dwDuration ----- Long,堀音的持续时间,以毫秒为单位。如为 -1,表示一直播放堀音,直到再次调用 该函数为止。
可采用以下几种方式使用API函数或过程,以 Beep为例: (1)忽略函数返回值的调用:
Beep 1000, 5000
注意此时函数的参数是不加括号的。 (2) Call方法调用: Beep(1000, 5000)
Call
注意这里需要加上括号,但我们不取回函数的返回值。 (3)取得函数返回值的调用: MyLng = Beep(1000, 5000)
此时需要加上括号,而且我们必须事先定义一个变量(变量的类型与函数返回值类型相同)来存储 API函数的返回值。
三、堀明的一些说明
(1)堀明中的 Lib 和 Alias 是怎么回事 一般情况下Win32 API函数总是包含在Windows系统自带的或是其它公司提供的动态连接库 DLL中, 而 Declare语句中的关键字Lib就是用来指定 DLL(动态连接库)文件路径是系统库路径的,这样
VBA才 能找到
这个 DLL文件,然后才能使用其中的 API函数。 如果我们只是列出 DLL文件名而不指出其完整路径的话, VBA会自动到 Excel文件所在目录、当前工 作目录、Windows\System目录、Windows目录下搜寻这个 DLL文件。所以如果所要使用的 DLL文件不在