.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = \轴标题\ End With
With ActiveChart.Axes(xlCategory)
.HasMajorGridlines = True '显示x轴主网格线,默认情况下为显示 .HasMinorGridlines = True '显示x轴次网格线,默认情况下为不显示 End With
With ActiveChart.Axes(xlValue)
.HasMajorGridlines = True '标出x轴主网格值,默认情况下为标注 .HasMinorGridlines = False '取消x轴次网格值标注,默认情况下为不标注
End With
ActiveChart.Legend.Position = xlRight '图例显示在图表右侧 2、嵌入式图表
嵌入式图表仅在添加方式及引用格式上与工作表图表有所不同,而对图表的设置基本类似。详见下例。
Set嵌入表=ActiveSheet.ChartObjects.Add(0,0,200,300) '在当前工作表(0,0)坐标处添加宽200,高300的嵌入式图表
嵌入表.Chart.ChartType = xlColumnClustered '图表类型为簇状柱形图 嵌入表.Chart.SetSourceData Source:=Sheets(1).Range(\PlotBy:=xlRows '设置图表数据来源 With 嵌入表.Chart
.HasTitle = False '无图表标题
.Axes(xlCategory, xlPrimary).HasTitle = False '无x轴标题 .Axes(xlValue, xlPrimary).HasTitle = False '无y轴标题 End With
五)、工作表 1、添加
Sheets.Add before:=Sheets(1) '在第1工作表前添加新工作表
Sheets.Add after:=Sheets(Sheets.Count) '在最后工作表后添加新工作表 2、移动
ActiveSheet.Move before:=Sheets(2) '将当前工作表移动至第2工作表之前 3、命名
ActiveSheet.Name=\工作表名\将当前工作表命名为\工作表名\ 4、删除
可以用以下语句删除当前工作表。 ActiveSheet.Delete
但在删除前Excel会自动弹出提示框,需在用户确认后方可执行删除。为避免这一干扰,可以先用以下语句关闭Excel的警告提示。 Application.DisplayAlerts = False 在删除完成后,再重新打开Excel的警告提示 Application.DisplayAlerts = True 六)、工作簿
Excel的宏对工作簿的操作主要为保存。
Dim 存盘文件名 As String
ActiveWorkbook.Save '保存当前工作簿 存盘文件名=\工作表名\
ActiveWorkbook.SaveAs Filename:= 存盘文件名 '当前工作簿另存为\工作表名.xls\
在另存时,若指定的存盘文件名不包含路径,则保存在该工作簿的打开目录下。而若此存盘文件已存在,也可用关闭Excel警告提示的方法以免其自动弹出提示框。
63、用VBA的几个误区
1、想通过Excel+vba来编程发财,不管怎么说,目前这种可能性很小。
2、录制宏后的代码不进行简化,这种情况初学者常犯;或者不屑于用录制宏,这种相反。
3、喜欢用.select、.copy、.active等,如果不是迫不得已,还是不要用这些东西好。
4、不喜欢用公式、函数,什么都喜欢用程序;活用公式函数是我们学EXCEL中重要的重点,学会嵌套着用,很多事情都可以解决。譬如表1的A1单元格如果要等于表2的A列中的某个单元格,很多人都是用程序来直接赋值,数量少这也可以,但如果数量很多的话,为何不试用一下offset呢?偏移都指向同一个单元格,就当是一个变量,改一下这个单元格的值,表1用offset的单元格的值就全部改了。 5、设计输入数据的界面竟然用用户窗口+文本框之类的东西,天,我为什么要用EXCEL,原因之一不就是图个方便吗?!直接在工作表中操作就是输入数据最好的方法,如果一些功能你不想给别人用,顶多你屏蔽掉吧。
6、关闭程序的时候很喜欢退出整个EXCEL,这样自我感觉更象一个完整的程序。其
实完全有必要考虑其他用户是否也在用EXCEL,所以,必须做好一下判断,不要自作聪明全部退出来,还帮忙把每个工作簿都保存一下。
7、不喜欢用with,总是workbook(\一行行排得挺整齐的,还说都用复制,其实也不麻烦。
8、总想把VBA+EXCEL做得象一个程序一样,其实,就因为它不独立,所以才更加为我们喜爱,不是吗?
64、用过VB的人都应该知道如何声明变量,在VBA中声明变量和VB中是完全一样的! 使用Dim语句
Dim a as integer?? '声明A为整形变量 Dim a? '声明A为变体变量
Dim a as string? '声明A为字符串变量 Dim a,b,c as currency'声明A,b,c为货币变量
声明变量可以是:Byte、Boolean、Integer、Long、Currency、Single、Double、Decimal(当前不支持)、Date、String(只限变长字符串)、String * length(定长字符串)、Object、Variant、用户定义类型或对象类型。 强制声明变量 Option Explicit
说明:该语句必在任何过程之前出现在模块中。 声明常数,用来代替文字值。 Const
' 常数的默认状态是 Private。
Const My = 456 ' 声明 Public 常数。
Public Const MyString = \' 声明 Private Integer 常数。 Private Const MyInt As Integer = 5 ' 在同一行里声明多个常数。
Const MyStr = \
在EXCEL97中,有一个十分好的功能,他就是把鼠标放置在一个有效数据单元格中,执行该段代码,你就可以将连在一起的一片数据全部选中。只要将该段代码加入到你的模块中。 Sub My_Select
Selection.CurrentRegion.Select End sub
删除当前单元格中数据的前后空格。 sub my_trim
Trim(ActiveCell.Value) end sub 使单元格位移 sub my_offset
ActiveCell.Offset(0, 1).Select'当前单元格向左移动一格 ActiveCell.Offset(0, -1).Select'当前单元格向右移动一格 ActiveCell.Offset(1 , 0).Select'当前单元格向下移动一格