打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
科学网—电子表格VBA编程计算速成(3)

电子表格VBA编程计算速成(3)

已有 4673 次阅读 2007-10-2 09:30 |个人分类:科普园地

第三章 常用VBA编程代码语句
我们的主题是利用电子表格这一平台,以实现复杂专业计算自动化为目的,所以,最主要的是了解和掌握单元格的公式输入、复制、填充;数据的输入、查找、引用;以及单元格的格式、工作表界面的一些设置等的编程。其它,如:文件操作,编辑操作,界面设定,单元格的美化……等,也可以利用电子表格自身的强大功能进行常规操作来解决。
要实现前面说的这些功能和操作,自然要掌握这些功能和操作的代码是怎么写的

3.1 工作表单元格的编程代码
工作表单元格是存储各类计算数据,公式,数据引用的基本单位,掌握工作表单元格的基本编程代码,是实现复杂专业计算自动化的基础。
一,单元格基本编程代码
Sub dygjbbcdm()
‘ 1. 输入计算数据的编程代码:
‘(1)用快捷标记 "[ ]" 输入单元格、单元格区域数据。
[A1] = 100 '在 A1 单元格输入100。
[A2:A4] = 10 '在 A2:A4 单元格输入10。
’(2)用 Range(" ") 输入单元格、单元格区域数据。
Range("B1") = 200 '在 B1 单元格输入200。
Range("C1:C3") = 300 '在 C1:C3 单元格输入300。
’(3)用单元格编号Cells(Row,Column),Row为单元格行号,Column为列号。
Cells(1, 4) = 400 '在 D1 单元格输入400。
Range(Cells(1, 5), Cells(5, 5)) = 50 '在 E1:E 5单元格输入50。
’(4)用ActiveCell.FormulaR1C1公式输入数据
Range("B1").Select
ActiveCell.FormulaR1C1 = "100” '在 B1单元格输入100
‘ 2. 输入公式的编程代码:工作表G6输入公式=sjx(RC[-4],RC[-2],RC[-1])+R5C7
Range("G6").Select
ActiveCell.FormulaR1C1 = "=sjx(RC[-4],RC[-2],RC[-1])+R5C7"
‘ 3. 输入公式中引用不同工作表的单元格数据,须在每项引用前加“工作表名!”(不含 “”)
[A1] = Sheet4.[A1] '把Sheet4 A1 单元格的数据,读到当前表A1单元格
Range("E5").Select
ActiveCell.FormulaR1C1 = _
"=sjjzx(计算数据!RC[-3],计算数据!R[1]C[-3],计算数据!R[2]C[-3],计算数据!RC,计算数据!
‘ 4. 单元格公式自动填充代码:2.中D6单元格公式自动填充到D50
Range("D6").Select
Selection.AutoFill Destination:=Range("D6:D50"), Type:=xlFillDefault
‘ 5. 多列单元格公式自动填充代码:G6:I6单元格公式自动填充到G6:I50
Range("G6:I6").Select
Selection.AutoFill Destination:=Range("G6:I50"), Type:=xlFillDefault
End Sub

重要提示:输入公式代码项"=sjx(RC[-4],RC[-2],RC[-1])+R5C7"的窍门―选择“工具”→“选项”→“常规”→勾选“R1C1引用式样”,“确定”退出,然后在需要输入公式的单元格按常规操作输入公式,再把编辑栏中的公式复制、粘贴到VB编辑器代码窗口相应的公式代码项"=……"中。这样作,可保公式编程代码无误。
二,单元格格式编程代码
我们的主题是进行计算,对单元格格式的设定,一般采用常规操作来实现,特殊需要也可采用编写代码来实现。下面是单元格格式的基本代码:
Sub Macro2()
Range("A2:C2").Select
Selection.NumberFormatLocal = "0.00;[红色]0.00" ' 数值格式:小数2位;负数红色;千位分隔符无
With Selection
.HorizontalAlignment = xlCenter '水平对齐居中
.VerticalAlignment = xlCenter '垂直对齐居中
.WrapText = True '自动换行
.Orientation = 90 '方向.90度
.AddIndent = False '分散对齐.假
.IndentLevel = 0 '缩进.0
.ShrinkToFit = False '缩小填充.无
.ReadingOrder = xlLTR '文字.总是左到右
.MergeCells = True '合并单元格.真
End With
With Selection.Font '字体
.Name = "华文新魏" '字体名.华文新魏
.FontStyle = "粗体" '字形.粗体
.Size = 12 '字号.12
.Strikethrough = False '删除线.无
.Superscript = False '上标.无
.Subscript = False '下标.无
.OutlineFont = False '字体普通.无
.Shadow = False '阴影.无
.Underline = xlUnderlineStyleNone '下划线.无
.ColorIndex = xlAutomatic '颜色号.自动
End With
Selection.Borders(xlDiagonalDown).LineStyle = xlNone ' 对角线↘无
Selection.Borders(xlDiagonalUp).LineStyle = xlNone '对角线↗无
With Selection.Borders(xlEdgeLeft) '边框左
.LineStyle = xlContinuous '线形.连续
.Weight = xlThick '粗细度.粗线
.ColorIndex = xlAutomatic '颜色号.自动
End With
With Selection.Borders(xlEdgeTop) '边框顶
.LineStyle = xlContinuous '样式.连续
.Weight = xlThick '粗细度.粗线
.ColorIndex = xlAutomatic '颜色号.自动
End With
With Selection.Borders(xlEdgeBottom) '边框底
.LineStyle = xlContinuous '样式.连续
.Weight = xlThick '粗细度.粗线
.ColorIndex = xlAutomatic '颜色号.自动
End With
With Selection.Borders(xlEdgeRight) '边框
.LineStyle = xlContinuous '样式.连续
.Weight = xlThick '粗细度.粗线线
.ColorIndex = xlAutomatic '颜色号.自动
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone 边框内纵横无
With Selection.Interior
.ColorIndex = 32 '红=3,黄6,淡黄36鲜绿4淡绿35兰5淡蓝37无xlNone
.Pattern = xlSolid '图案.纯色
.PatternColorIndex = xlAutomatic '颜色号.自动
End With
End Sub
3.2 对工作表编程的代码
由于我们是利用电子表格这一平台来进行专业的复杂计算,所以对工作表的界面设置一般采用常规操作来完成。例如,不要“工具栏”,可把相应的工具栏项勾销,还可把“工具”→“选项”→“视图”中的有关项目勾销。特殊需要也可采用编写代码来实现。
一,视图选项的有关代码
Sub stxx()
Sheet1.Activate '激活工作表1
With ActiveWindow '以下是对当前活动窗口的操作
.DisplayFormulas = True '显示/隐藏公式
.DisplayGridlines True ' 显示/ 隐藏网格线
.GridlineColorIndex = 32 ' 显示/ 隐藏网格线颜色(兰)
.DisplayHeadings = True ' 显示/ 隐藏行号列标
.DisplayOutline = True ' 显示/ 隐藏分级显示符号
.DisplayZeros = False ' 显示/ 隐藏零值
.DisplayHorizontalScrollBar = True ' 显示/ 隐藏水平滚动条
.DisplayVerticalScrollBar = True ' 显示/ 隐藏垂直滚动条
.DisplayWorkbookTabs = False ' 显示/ 隐藏工作表标签
.WindowState = xlMaximized ' 工作簿打开时最大化
End With ' 结束针对当前活动窗口的操作
ActiveSheet.DisplayAutomaticPageBreaks = False ' 显示/ 隐藏自动分页符
ActiveWorkbook.DisplayDrawingObjects = xlAll ' 显示全部对象
ActiveWorkbook.DisplayDrawingObjects = xlPlaceholders ' 只显示占位符
ActiveWorkbook.DisplayDrawingObjects = xlHide ' 全部隐藏对象
With Application
.ShowStartupDialog = False ' 显示/ 隐藏启动任务窗格
.DisplayFormulaBar = True ' 显示/ 隐藏公式编辑栏
.DisplayStatusBar = False ' 显示/ 隐藏状态栏
.ShowWindowsInTaskbar = False ' 显示/ 隐藏任务栏中的窗口
.DisplayCommentIndicator = 0 ' 批注无
.DisplayCommentIndicator = xlNoIndicator ' 批注只显示标识符
.DisplayCommentIndicator = xlCommentIndicatorOnly ' 显示批注和标识符
End With
On Error Resume Next ' 进行容错处理(继续执行下一个)
End Sub
一, 工作簿其它设置的常用代码
Sub gzbqtdm()
' 1. 进行容错处理(继续执行下一个)
On Error Resume Next
' 2. 取消更新链接:自编的计算系统中,需要加入这一条代码,防止系统自动更新链接给计算带来不必要的麻烦。
Application.AskToUpdateLinks = False
‘ 3. 取消数字以文本形式存储错误检查,避免常规设置下单元格输入文本出现错误检查标志。
Application.ErrorCheckingOptions.NumberAsText = False
' 4. 隐藏绘图工具栏
ActiveWorkbook.DisplayDrawingObjects = xlHide
' 5. 隐藏标准工具栏
Application.CommandBars("Standard").Visible = False
' 6. 隐藏格式工具栏
Application.CommandBars("Formatting").Visible = False
' 7. 隐藏自定义 ("填挖方计算").工具栏
Application.CommandBars("填挖方计算").Visible = False
' 8. 删除自定义工具栏COMMANDBAR_NAME
Application.CommandBars(COMMANDBAR_NAME).Delete
' 9. 加载宏"新增测绘、工程、科学计算函数1.0".
AddIns("新增测绘、工程、科学计算函数1.0").Installed = True
' 10. 卸载宏
AddIns("新增测绘、工程、科学计算函数1.0").Installed = False
' 11. 定义引用数据名称: "cdzb"
ActiveWorkbook.Names.Add Name:="cdzb", RefersToR1C1:="=测点座标!R5C2:R400C9"
' 12. 删除引用数据名称"cdzb"
ActiveWorkbook.Names("cdzb").Delete
' 13. 保护工作簿结构、窗口
ActiveWorkbook.Protect Structure:=True, Windows:=True
' 14. 撤销工作簿保护
ActiveWorkbook.Unprotect
' 15. 保护工作表
ActiveSheet.Protect DrawingObjects:=True
' 16. 撤销工作表保护
ActiveSheet.Unprotect
End Sub
三,其它有关工作表的编程代码可以根据需要通过Microsoft Excel提供的工具“录制新宏”来获得,其步骤如下:
选择“工具”→“录制新宏…”→“确定”→进行您需要的设置和操作,完成后,选择“工具”→“停止录制…”,然后重新选择“工具”→“宏…”选择“宏名”→“编辑”,即可在VB编辑器代码窗口看到您需要的设置和操作的宏代码了。这是学习和查找工作表编程代码的最好的方法。
Excel中的编程代码还有许多,我们的主题是编程解决复杂的专业计算,主要对象是单元格,对于工作表、工作簿的设置按常规操作进行就可以了,没有太多的必要一定要用代码。所以上述代码作为确实需要时的参考,不要让一大堆代码把思路搞乱了。



http://blog.sciencenet.cn/blog-3670-8190.html
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
用VB操作excel方法汇总
VBA|输入公式和使用函数
使用自定义函数提取批注
搜集各种Excel VBA的命令供参考!
VBA自动化复制公式二法
EXCEL中VBA基础应用
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服