打开APP
userphoto
未登录

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

开通VIP
(1)vba excel in mac(超级基础以及杂乱的记录而已)

vba excel in mac(超级基础以及杂乱的记录而已)

(2014-07-25 03:43:02)
标签:

coding

cs

分类: 吸露群
才意识到我其实应该把用过的功能记下来,这样就不用每次要用都到处去查找了。虽然python我已经懒得记录了,但是刚准备学这个也许还是可以尝试一下的。这以下的内容我也不知道会是什么。。。

以及吐槽下我自己。。拿mac搞excel vba真是找死= =
 

首先参考博客:vba excel编程三日谈 开始学习之路~

然后设置如何在mac中打开vba编辑器:MS EXCEL: OPEN THE VISUAL BASIC EDITOR IN EXCEL2011 FOR MAC

Sub 设置隔行背景色()
'设定背景色颜色
    Const Gray = 10
‘选定开始的一排为A2
   Range("A2").EntireRow.Select
‘直到遇到空cell之前一直循环
    Do WhileActiveCell.Value <> ""
‘将选定行涂成指定背景色
       Selection.Interior.ColorIndex = Gray
‘将活动单元格下移两排
       ActiveCell.Offset(2, 0).EntireRow.Select
    Loop
    
End Sub

1. 关键词Sub...EndSub开始和结束宏,格式为:
Sub 宏名()
<代码>
End Sub

一个子程序由一组代码语句组成,以Sub开始,EndSub结束。子程序不一定是宏。可以从一个子程序中调用另一个子程序,例:
Sub 我的第一个宏()
我的第二个宏()
End Sub

2.Excel对象模型使用面向对象编程。例:
Set ws =ActiveWorkbook.Worksheets.Add
Range("A1").Value = "I am astudent."
这里有3个对象,ws代表Worksheet对象,ActiveWorkbook对象代表当前工作簿,Range对象代表在当前工作表中的单元格区域。

当第一次使用某对象变量时,以Set关键字开始,为该对象分配所需的内存空间,并可为对象变量命名,如ws。
方法总是与对象相关联。如“我的第一个宏”中包含一个add的方法,它与ws对象相关。使用方法时,应在对象和方法之间添加一个句点,例:worksheet.add。在上面的代码中,使用Add方法在活动工作簿中添加了一个新的工作表。
属性也总是与对象相关联。在上面的代码中,包含一个属性Value,它与Range对象相关。同方法一样,使用属性时,也应在对象与属性之间加.,如range.rowheight

好吧在中文教程里纠结了半天,还是转战英文了,当然编程三日谈那个还是很棒的。

正经的microsoft教程:Getting Started with VBA in Excel 2010


Excel VBA TUTORIAL: ExcelVBA Tutorial


Tip1
由于mac没有rowsource这个异常好用的东西,在创建combobox和listbox的时候需要用:
Private Sub UserForm_Initialize()
    Dim aCell As Range
    For Each aCell InRange("性别")
       ComboBox1.AddItem (aCell.Value)
    Next
End Sub

或者:
Private Sub UserForm_Initialize()
    ComboBox1.List =Worksheets("工作表1").Range("A1:A5").Value
End Sub

或者:
Private Sub UserForm_Initialize()
   UserForm2.Typetxt.Clear
   UserForm2.materialTypetxt.AddItem "Glass/Cell/polymer"
End Sub


Tip2
不小心把vba的工具栏删掉了怎么破:打开VBA,上侧 查看->工具栏 -> 标准

Tip3
Excelvba是可以debug的,在调试(debug)栏,遗憾的是mac的快捷键设置很诡异。。当然这个功能帮了大忙╮(╯▽╰)╭


Tip4
Userform里的字体大小通过双击属性栏里的font可以调整

完整的userform编程步骤&解说:Userform


Tip5
Dim Thesheet As Worksheet
Set Thesheet =Sheets("sheet1")
比:Sheets("sheet1")要快

Tip6
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
EXCEL 教你VBA编程快速入门
“完成率”在excel中这样显示才漂亮!
Excel VBA解读(69):工作表名称——Name属性
别怕,我是宏!VBA系列之元素篇(0基础学员必看)
Excel资源分享:Excel VBA编程实战宝典
产量统计表,Excel vba
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服