VBA7的新功能

1 颗星2 颗星3 颗星4 颗星5 颗星 (1 人投票, 平均: 4.00 out of 5)
Loading ... Loading ...

Excel产品团队博客的文章《Programmability Improvements in Excel 2010》,VBA增加了一些新功能。
将Excel 4宏迁移到VBA
在将VBA引入到Excel之前,有自已的宏工具,称之为Excel 4宏,在Excel宏工作表中使用。很多人都早已将他们的Excel 4宏迁移到VBA,然而,一些Excel 4宏的功能在VBA中消失了,这使得迁移发生了困难。
在Excel 2010中,目标是为必须完全将Excel 4宏迁移到VBA中的人移除任何现有的阻碍。这项工作通常分为两类:

  • 在Excel的对象模型中添加新的对象、方法和属性,代表一些现有的而在VBA中没有等价的Excel 4宏函数。
  • 改进VBA中页面设置操作的性能,提供Excel 4宏中PAGE.SETUP()功能相似的性能。

对图表和形状的宏录制
当Excel 2007引入新的图表引擎时,主要集中在现代化的图表和形状的渲染能力。由于这项工作巨大,因此必须作一些痛苦的取舍决定,这导致Excel 2007在图表和形状对象模型方面失去了与Excel 2003的兼容性,即宏录制能力。
在Excel 2010中,宏录制器又可用于图表格式了,Excel 2003中的绝大多数图表格式录制功能又回来了。(极少数例如,包括坐标轴文本格式)
64位支持和代码兼容性
Office 2010将发布32位版本和64位版本。因此,VBA7将随Office 2010发布,支持能够运行32位和64位Office的代码的开发。

相关文章

VBA7来了

1 颗星2 颗星3 颗星4 颗星5 颗星 (目前还没有人投票)
Loading ... Loading ...

VBA6已经将近10余年了,而今,VBA7即将到来。
The official blog of the Microsoft Excel product team的一篇文章:Programmability Improvements in Excel 2010:VBA的新版本——VBA7,将随Office 2010发布,支持能够在32位和64位Office上运行的代码的开发。

VBA7, the new version of VBA that ships with Office 2010, supports the development of code that can run in both 32- and 64-bit Office.

相关文章

让Excel自动响应消息框中的提示

1 颗星2 颗星3 颗星4 颗星5 颗星 (目前还没有人投票)
Loading ... Loading ...

这是以前收录的一段程序示例:
使用VBA在调用工作簿中打开被调用工作簿,并运行其中的宏。该宏将弹出一个消息框,如果用户没有响应,那么程序会在指定时间后自动响应。
调用工作簿中的程序代码如下:

Public Declare Function SetTimer& Lib "user32" (ByVal hwnd&, _
    ByVal nIDEvent&, ByVal uElapse&, ByVal lpTimerFunc&)
Private Declare Function KillTimer& Lib "user32" (ByVal hwnd&, _
    ByVal nIDEvent&)
Public Const NV_INPUTBOX As Long = &H5000
 
Public Sub TimerProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal idEvent As Long, ByVal dwTime As Long)
    SendKeys "%Y"
    KillTimer hwnd, idEvent
End Sub
 
Sub test()
 
    With Application
        .Calculation = xlCalculationManual
        .ScreenUpdating = False
    End With
 
    Dim targetworkbook As Workbook
 
    Dim usersave As VbMsgBoxResult
 
    Set targetworkbook = Workbooks.Open("C:\test2.xls", UpdateLinks:=0)
 
    Calculate
    targetworkbook.Activate
    SetTimer 0, NV_INPUTBOX, 1000, AddressOf TimerProc
    Application.Run targetworkbook.Name & "!tester"
 
    targetworkbook.Activate
 
    With Application
        .Calculation = xlCalculationAutomatic
        .ScreenUpdating = True
    End With
 
End Sub

假设被调用工作簿存储在C盘,工作簿名为test2.xls,那么其中的代码如下:

Sub tester()
    TimedMsgBox
End Sub
 
Sub TimedMsgBox()
    Dim cTime As Long
    Dim WSH As Object
 
    Set WSH = CreateObject("WScript.Shell")
    cTime = 5 '5 秒
    Select Case WSH.Popup("Open an Excel file?!", cTime, "Question", vbOKCancel)
        Case vbOK
            MsgBox "你单击了确定"
        Case vbCancel
            MsgBox "你单击了取消"
        Case -1
            MsgBox "超时"
    End Select
End Sub

运行调用工作簿中的程序后,被调用的工作簿test2.xls会被打开,并运行其中的程序,该程序会弹出一个消息框,如果用户没有响应该消息框,那么在5秒后,会自动响应,即弹出一个内容为“超时”的消息框。

相关文章

带有菜单栏的用户窗体

1 颗星2 颗星3 颗星4 颗星5 颗星 (目前还没有人投票)
Loading ... Loading ...

今天,给大家分享Jan Karel Pieterse的作品:带有菜单栏的用户窗体。如下图所示。
CreateMenuInUserform
示例文档下载:

相关文章

Excel图表类型及使用

1 颗星2 颗星3 颗星4 颗星5 颗星 (1 人投票, 平均: 4.00 out of 5)
Loading ... Loading ...

引言:记得曾经有朋友问过:Excel各种类型的图表适合在什么情形下使用?虽然我平时不常使用图表,但碰巧看过人民邮电出版社出版过的两本书:《Excel 2007图表完全剖析》和《PPT演示之道》,其中谈到过常用图表类型的适用情形,特将这些内容归纳于此,供有兴趣的朋友参考。更详细的内容大家可以阅读这两本书。同时,大家也可以共同探讨,根据自已使用图表的经验,谈谈什么情形下适用什么图表类型。
Excel提供了11种类型的图表,其中又含有73种图表子类型。
柱形图
ExcelChartAndApply1
经常用于表示以行和列排列的数据。对于显示随时间的变化很有用。最常用的布局是将信息类型放在横坐标轴上,将数值项放在纵坐标轴上。
折线图
ExcelChartAndApply2
与柱形图类似,也可以很好地显示在工作表中以行和列排列的数据。区别在于折线图可以显示一段时间内连续的数据,特别用于显示趋势。
饼图
ExcelChartAndApply3
适合于显示个体与整体的比例关系。显示数据系列相对于总量的比例,每个扇区显示其占总体的百分比,所有扇区百分数的总和为100%。在创建饼图时,可以将饼图的一部分拉出来与饼图分离,以更清晰地表达其效果。
下列图表类型是用于比较组分的有效图表:
(1)饼图适合用于比较2~5个组分。
(2)复合饼图适合用于比较6~10个组分。
(3)复合条饼图可处理6~15个组分。
(4)如果有两个或多个饼图,应使用百分比堆积柱形图。百分比堆积条形图、百分比堆积折线图以及百分比堆积面积图都是由百分比堆积柱形图衍变而来的。
条形图
ExcelChartAndApply4
对于比较两个或多个项之间的差异很有用。
面积图
ExcelChartAndApply5
面积图是以阴影或颜色填充折线下方区域的折线图,适用于要突出部分时间系列时,特别适合于显示随时间改变的量。如果只有几个数据点,添加垂直线有助于读者分辨每个时期的实际值。
XY(散点)图
ExcelChartAndApply6
适合于表示表格中数值之间的关系,常用于统计与科学数据的显示。特别适合用于比较两个可能互相关联的变量。虽然散点图可用于大型数据集,但其缺陷是,如果不使用VBA或插件,将很难给点加上标签。如果数据集较小,可使用成对的条形图来显示相同的信息,这种图表可添加标签,让读者能够看出哪些记录与其他记录不符。
气泡图
ExcelChartAndApply7
与散点图相似,但气泡图不常用且通常不易理解。气泡图是一种特殊的XY散点图,可显示3个变量的关系。气泡图最适合用于较小的数据集。
气泡图给XY散点图中的每个点添加一些信息,在气泡图中标记的大小将随第三个数据点而异。数据集很稀疏时,使用气泡图最合适。如果图表包含的数据点太多,气泡将导致图表很难看懂。
散点图与气泡图都能够显示两三个不同的变量之间的关系。创建数据时要小心,散点可显示两个变量之间是否存在着关系,而气泡图有一项独特功能,即能够提供第三维数据。
股价图
ExcelChartAndApply8
常用于显示股票市场的波动,可使用它显示特定股票的最高价/最低价与收盘价。
曲面图
ExcelChartAndApply9
适合于显示两组数据的最优组合,但难以阅读。
圆环图
ExcelChartAndApply10
与饼图一样,圆环图显示整体中各部分的关系。但与饼图不同的是,它能够绘制超过一列或一行的数据。圆环图不容易阅读。
圆环图是一种奇怪的图表,有时可用于比较两个饼图,但通常百分比堆积柱形图更适合这种比较。
雷达图
ExcelChartAndApply11
可用于对比表格中多个数据系列的总计,很适合用于进行绩效评估,但不太常用。雷达图可显示4~6个变量之间的关系。
雷达图用于显示个人或公司在几个方面的表现,下面是一些典型的用法。
(1)员工绩效评价。例如,经理可能用1~5分评价员工在效率、准确性、时间观念等方面的表现。虽然这些数据可使用表格来表示,但使用雷达图表示更有趣。
(2)客户满意度。例如,营销经理可使用雷达图总结客户满意度调查结果。此时,应使用一行显示客户在速度、准确性和价值等几个方面的满意度。
- – - – - – - – - – - – - – - – - – -
只能混合使用某些图表类型。混合使用图表类型时,为获得最佳效果,建议遵循下列原则:
(1)应总是使用二维图表类型,Excel不允许混合使用三维图表。
(2)在二维类型中,应只混合使用簇状图表类型。
(3)不能混合使用水平图表和垂直图表。柱形、折线与面积图应放在一起,条形图不能与它们混合。
(4)可以混合使用圆形图表。
(5)在大部分情况下,折线图可改为带直线的XY散点图。

当然,图表类型的选择要结合实际要表达的意图。其最终目的是,以最简洁的型式,表达出要展现的结果。
注:网站空间被删之前的文章,找出来重新辑录于此.

相关文章

Page 2 of 4412345...Last »