分享

积木编程,事半功倍

 我的人生宝库 2019-12-02

第一套:《VBA代码解决方案》是VBA中各个知识点的讲解,覆盖了绝大多数的知识点。

第二套:《VBA数据库解决方案》是数据处理的利器;

第三套:《VBA数组与字典解决方案》中讲解VBA的精华----字典。

第四套:面向初学及中级以下学员的视频《VBA代码解决方案》正在录制。 '每天20分钟,半年精进VBA'活动正在火热进行中,越早参与,回馈越多。现在第一册48讲内容已经录制完成。录制到第二册58讲的课程。

上述教程中第一、二、三是PDF教程,第四套教程是视频教程。其中视频教程的优惠活动正在进行中。

VBA过程代码61:工作簿的一些通用属性示例3

Sub MyNZ()

Dim SaveTime As String

On Error Resume Next

SaveTime = ActiveWorkbook.BuiltinDocumentProperties('Last Save Time').Value

If SaveTime = '' Then

MsgBox ActiveWorkbook.Name & '工作簿未保存.'

Else

MsgBox '本工作簿已于' & SaveTime & '保存', , ActiveWorkbook.Name

End If

End Sub

代码的解析说明:上面过程利用BuiltinDocumentProperties属性,返回工作薄的保存信息,类似于在Excel中选择菜单'文件——属性'命令时将会显示一个'属性'对话框,该对话框中包含了当前工作簿的有关信息。

积木编程,事半功倍

VBA过程代码62:新建一个工作表'HH'

Sub MyNZ()

On Error Resume Next

Worksheets('HH').Activate

If Err.Number <> 0 Then

Worksheets.Add after:=Worksheets(Worksheets.Count)

ActiveSheet.Name = 'HH'

Else

ActiveSheet.Clear

End If

End Sub

代码的解析说明:上面过程利用Worksheets.Add after:=Worksheets(Worksheets.Count)添加一个工作表,并将工作表命名为'HH',如果这个工作表是已经存在的,那么将清空这个工作表。

积木编程,事半功倍

VBA过程代码63:测试工作簿中是否包含指定工作表

Sub MyNZ()

MsgBox '测试工作簿中是否存在指定名称的工作表'

Dim b As Boolean

b = SheetExists('<指定的工作表名>')

If b = True Then

MsgBox '该工作表存在于工作簿中.'

Else

MsgBox '工作簿中没有这个工作表.'

End If

End Sub

Private Function SheetExists(sname) As Boolean

Dim x As Object

On Error Resume Next

Set x = ActiveWorkbook.Sheets(sname)

If Err = 0 Then

SheetExists = True

Else

SheetExists = False

End If

End Function

代码的解析说明:上面的过程利用了一个自定义的函数SheetExists判断是否存在一个指定的工作表。

自定义的函数SheetExists中将指定名称的工作表赋值给变量x,通过赋值过程的错误的返回值来判断是否存在这个工作表。

积木编程,事半功倍

VBA过程代码64:对未打开的工作簿进行重命名(Name方法)

Sub MyNZ()

Name '<工作簿路径>/<旧名称>.xlsx' As '<工作簿路径>/<新名称>.xlsx'

End Sub

代码的解析说明:代码中<>中的内容为需要重命名的工作簿所在路径及新旧名称。该方法只是对未打开的文件进行重命名,如果该文件已经打开,使用该方法会提示错误。

VBA过程代码65:设置数字精度(PrecisionAsDisplayed属性)

Sub MyNZ()

Dim pValue

ActiveCell.Value = 1 / 3

ActiveCell.NumberFormatLocal = '0.00'

pValue = ActiveCell.Value * 3

MsgBox '当前单元格中的数字乘以3等于:' & pValue

ActiveWorkbook.PrecisionAsDisplayed = True

pValue = ActiveCell.Value * 3

MsgBox '此时,当前单元格中的数字乘以3等于:' & pValue ActiveWorkbook.PrecisionAsDisplayed = False

End Sub

代码的解析说明:ActiveCell.NumberFormatLocal = '0.00',是设置单元格的格式,PrecisionAsDisplayed属性的值设置为True,则表明采用单元格中所显示的数值进行计算。

上面的例子中可以看出单元格的数值和和单元格的显示值的不同。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多