八宝书库 > 文学其他电子书 > Excel word ppt office使用技巧大全(DOC格式) >

第74部分

Excel word ppt office使用技巧大全(DOC格式)-第74部分


按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!




'1。插入类模块;并将其命名为 MyEventClass;键入:   

Public WithEvents mandBars As mandBars   

Private Sub mandBars_OnUpdate()   

'建议该用事件来处理自定义的 mandBars 的变更;还要用在其它地方   

If Sheet1。'a2' = 0 Then End '设置退出开关;以免不停地〃OnUpdate〃   

Sheet1。'a1' = Now   

End Sub   

'2。在 Sheet1 中键入:   

Dim myClassModule As New MyEventClass   

Private Sub Worksheet_SelectionChange(ByVal Target As Range)   

'a1'。NumberFormatLocal = 〃h:mm:ss;@〃'设定 A1 时间显示格式   

Set myClassModule。mandBars = Application。mandBars   

End Sub  



                                                                                           394  


…………………………………………………………Page 395……………………………………………………………

                                                 



                                  多张工作表如何排序和查找  



如果在一个文件 book 中有很多工作表,比如 150 个,每个都有自己 的名称,如果我想很快的 

找到我想要找的工作表,有没有什么方法?可以将工作表排序或查找吗?我们单位在做基本养 

老保险的工作,一个人一张表,要找到某个人很麻烦,希望高手帮忙,excel 有这方面的功能 

吗?  

解答:做个索引表,插入超级链接来链接各表  

或用宏:Sub 宏 1()  

Dim myIndexSheet As Worksheet; Sht As Worksheet; a As Long  

Set myIndexSheet = Worksheets。Add  

a = 1  

For Each Sht In Worksheets  

a = a + 1  

myIndexSheet。Cells(a; 〃A〃)。Value = Sht。Name  

Sht。Hyperlinks。Add myIndexSheet。Cells(a; 〃A〃); 〃〃〃〃 & Sht。Name & 〃!A1〃〃〃〃〃  

End With  

Next Sht   

End Sub (不行)  



                        将表格的外框线和框内线条设置永久有效的方法  



将表格的外框线和框内线条设置为不同格式,但在打印时却无法将每一页的底部外框线自动设 

为和其它三条边线一致,每次都必须手工设置(那可是几十页哦!),而且如果换一台打印机的 

话就会前功尽弃,怎么能够做到一劳永逸?  

解答:打印文件前试试运行以下的代码。打印后关闭文件时不要存盘,否则下次要把格式改回 

来就痛苦了。(当然你也可以另写代码来恢复原来的格式):   

Sub detectbreak()   

mycolumn = Range(〃A1〃)。CurrentRegion。Columns。Count   

Set myrange = Range(〃A1〃)。CurrentRegion   

For Each mycell In myrange   

Set myrow = mycell。EntireRow   

If myrow。PageBreak = xlNone Then   

GoTo Nex   

Else   

Set  arow  =  Range(Cells(myrow。Offset(…1)。Row;  1);  Cells(myrow。Offset(…1)。Row;  

mycolumn))   

With arow。Borders(xlEdgeBottom)   

。LineStyle = xlDouble '把这一行改成自己喜欢的表线   

。Weight = xlThick   

。ColorIndex = xlAutomatic   

End With   

End If   

Nex: Next mycell   

End Sub  



                                                                                      395  


…………………………………………………………Page 396……………………………………………………………

                                            



                             在 VBA 中UBound 是什么意思  



 解答:ACCESS,你准备用UBOUND 作什么呢?还是用 MS 自己说的:   

UBound 函数   

返回一个 Long 型数据,其值为指定的数组维可用的最大下标。   

语法   

UBound(arrayname'; dimension')   

UBound 函数的语法包含下面部分:   

部分 描述   

arrayname 必需的。数组变量的名称,遵循标准变量命名约定。   

dimension 可选的;Variant (Long)。指定返回哪一维的上界。1 表示第一维,2 表示第二维, 

如此等等。如果省略 dimension,就认为是 1。   

说明   

UBound 函数与 LBound 函数一起使用,用来确定一个数组的大小。LBound 用来确定数组某一 

维的上界。   

对具有下述维数的数组而言,UBound 的返回值见下表:   

Dim A(1 To 100; 0 To 3; …3 To 4)   

语句 返回值   

UBound(A; 1) 100   

UBound(A; 2) 3   

UBound(A; 3) 4   

UBound 函数示例   

该示例使用 UBound 函数,确定数组的指定维的最大可用下标。   

Dim Upper   

Dim MyArray(1 To 10; 5 To 15; 10 To 20) '声明数组变量。   

Dim AnyArray(10)   

Upper = UBound(MyArray; 1) '返回 10。   

Upper = UBound(MyArray; 3) '返回 20。   

Upper = UBound(AnyArray) '返回 10。   

LBound 函数   

返回一个 Long 型数据,其值为指定数组维可用的最小下标。   

语法 LBound(arrayname'; dimension')   

LBound 函数的语法包含下面部分:   

部分 描述   

arrayname 必需的。数组变量的名称,遵循标准的变量命名约定。   

dimension 可选的;Variant (Long)。指定返回哪一维的下界。1 表示第一维,2 表示第二维, 

如此类推。如果省略 dimension,就认为是 1。   

说明   

LBound 函数与 UBound 函数一起使用,用来确定一个数组的大小。UBound 用来确定数组某一 

维的上界。   

对具有下述维数的数组而言,LBound 的返回值见下表:   

Dim A(1 To 100; 0 To 3; …3 To 4)   

语句 返回值   

LBound(A; 1) 1   



                                                                             396  


…………………………………………………………Page 397……………………………………………………………

                                         



LBound(A; 2) 0   

LBound(A; 3) …3   

所有维的缺省下界都是 0 或 1,这取决于 Option Base 语句的设置。使用 Array 函数创建 

的数组的下界为 0;它不受 Option Base 的影响。   

对于那些在 Dim 中用 To 子句来设定维数的数组而言,Private、Public、ReDim 或 Static 语 

句可以用任何整数作为下界。   

LBound 函数示例   

该示例使用 LBound 函数来返回数组的指定维数的最小可用下标。可以使用 Option Base 语 

句取代数组缺省下标值 0。   

Dim Lower   

Dim MyArray(1 To 10; 5 To 15; 10 To 20) '声明数组变量。   

Dim AnyArray(10)   

Lower = Lbound(MyArray; 1) '返回 1。   

Lower = Lbound(MyArray; 3) '返回 10。   

Lower = Lbound(AnyArray) '返回 0 或 1,取决于 Option Base 的设置。  



                                    基本功  



对象 (Object)是甚么东西?对象是个'容器',里头还有两个对象,'内嵌'、'连结',这两个还 

是'容器'   

1。选 A1:B2》》键入 1》》CTRL+SHIFT+Enter。以上是数组公式之操作 ,看到 4 个 1 摆在 4 个储存 

格内,这是使用'内嵌';只负责储存数据   

2。D1=SUM(A1:B2)。得到4 ,这是使用'连结' ,在公式列中A1:B2 这部分是'连结';摆的是参 

照地址   

选 A1:B2 然后按 F9 键 ,结果看到 D1=SUM({1;1;1;1}) 。{1;1;1;1}这部分是'内嵌';称作数 

组值 。=SUM({1;1;1;1})这一组还是'连结' 。选SUM({1;1;1;1})然后按 F9 键 。得到4;这部 

分是'内嵌' 。=4 这一组还是'连结' 。最后看到储存格显示 4 这是看到'内嵌'部分。由此可 

见程序;经 CPU 运算然后丢到'内嵌';是在每个对象内;转换出来的 。结构并不复杂 。是种标 

准之三层式结构 (3…Tier)   

大量储存格有公式;如何才能看到连结部分?  

CTRL+~ ,TAB 键上那一撇,此物用来切换;看两个容器内摆甚么东西 ,刚才用F9 键转出公式 

容器内之'内嵌'部分,F9 键用来检查复杂函数内某部分函数所产生之值 ,通常打 x 不打勾 , 

VBA 有个实时运算窗口   

工作表环境:F9键取代此物 。  

使用者者很难见识到如此操作:东西断层了;因而始终搞不清楚到底怎么一回事,这东西叫作 

OLE ,任何对象都有的;当然对象内还有其它东西 ,统称  ,ponent Object Model(), 

范例文件 SAMPLES。XLS 提到了一句话;从此没有下文 ,难怪使用者用不到 Excel 20%功能 , 

结构先搞清楚;剩下来就很容易操作了 ,3 个  组组件组合起来 ,即是个应用模块 ,用不 

着 VBA 的。Excel 工作表 A4 纸直印是 8 栏;横印是 12 栏  。选 HI》》CTRL+ 向下键》》至 

H65536》》H65536 随便给个字》》检视分页模式》》100%》》25% 。直印显示 1425 页 。横印显示2260 

页。分页线可以手动调整字段大小 。一张工作表不够使用吗?以上操作证明是足够的 。观察 

一般使用者习惯;一张工作表使用范围;只有一张A4 纸大小;很浪费 。原因是切换到各区块不 

方便;只好开 16 张工作表;使用工作表名称当按钮使用。Excel 5。0 版留下之默认值;造成此习 

惯;一个档案开 16 个工作表给使用者用 。当时无超级链接功能;但可以直接用名称方块作切换; 

或用 VBA 解决。解决方法: A。在此缩小比例及分页模式状态下双击任意储存格上外框回第一列   



                                                                        397  


…………………………………………………………Page 398……………………………………………………………

                                                 



滚动条微调显示分页第 2 页;选取 A47:A92 范围命名为第 2 页   

重复此工作在 A 栏命名至第 16 页;然后存盘   

B。选 B1 储存格按地球》》选书签》》选第 2 页》》确定   

重复此工作;作连结工作   

不用储存格使用 ART 对象来作也可以;作好以后把它组成群组当操作面板使用   

C。冻结窗格   

由于跳书签该范围是在选取状态下;碍眼;可将 A 栏隐藏   

工具》》选项》》一般新活页簿内的工作表》》将 3 改为 1》》最低消费者   

试用满意的话;删除多余工作表;只使用此一张工作表;另存新文件选模板文件   

关闭 Excel》》开启 Excel》》选 Sheet1》》右键》》插入》》双击该刚才作好之模板文件   

来个'随插即用'   

以上利用三个个对象   

1。命名'对象包装法'   

2。超级链接   

3。冻结窗格   



                               用 VBA 实现会计的先进先出法则  



解答:'先进先出法   

If sl。Value 》 0 Then   

Cells(I2; H) = sj。Text   

Cells(I2; H + 1) = sl。Value   

Cells(I2; H + 2) = je。Value   

Cells(I2; H + 3) = fhks。Value   

Cells(I2 + 1; H + 1)。Formula = 〃=SUM(R'〃 & …I2 + 2 & 〃'C:R'…1'C)〃   

Cells(I2 + 1; H + 2)。Formula = 〃=SUM(R'〃 & …I2 + 2 & 〃'C:R'…1'C)〃   

MsgBox (〃现在〃 & wp。Value & 〃库存为〃 & Cells(I2 + 1; H + 1)。Value)   

Unload Me   

Exit Sub   

Else   

If Abs(sl。Value) 》 Cells(I2; H + 1)。Value Then   

MsgBox (〃现在〃 & wp。Value & 〃库存为〃 & Cells(I2; H + 1)。Value & 〃超库存容量〃)   

Unload Me   

End If   

End If   

I3 = I2 1   

B1 = sl。Value * 1   

B2 = sl。Value * 1   

Cells(I3; H + 1)。Activate   

Cells(I2; H + 2)。Value = 0   

B3 = 1   

LINE4:   

If Cells(I3; H + 1)。Value + B1 》 B2 Then   

If Cells(I3; H + 1)。Value + B1 》 0 Then   

Cells(I2; H + 2)。Value = Cells(I3; H + 2) / Cells(I3; H + 1) * B1 + Cells(I2; H + 2)。Value   



                                                                                      398  


…………………………………………………………Page 399……………………………………………………………

                                                     



MsgBox (Cells(I2; H + 2)。Value); ; 〃总数〃   

  

Cells(I2; H) = sj。Text   

Cells(I2; H + 3) = fhks。Value   

Cells(I2; H + 1) = sl。Value   

Cells(I2 + 1; H + 1)。Formula = 〃=SUM(R'〃 & …I2 + 2 & 〃'C:R'…1'C)〃   

Cells(I2 + 1; H + 2)。Formula = 〃=SUM(R'〃 & …I2 + 2 & 〃'C:R'…1'C)〃   

  

Unload Me   

Exit Sub   

Else   

B3 = B2 Cells(I3; H + 1)。Value B1   

MsgBox (B3); ; 〃沉淀数量〃   

MsgBox (Cells(I2; H + 2)。Value)   

MsgBox (Cells(I3; H + 2) / Cells(I3; H + 1) * B3)   

Cells(I2; H + 2)。Value = Cells(I3; H + 2) / Cells(I3; H + 1) * B3 + Cells(I2; H + 2)。Value   

MsgBox (Cells(I2; H + 2)。Value); ; 〃过程金额〃   

B2 = Cells(I3; H + 1)。Value + B1   

B1 = B2   

I3 = I3 1   

MsgBox (B1); ; 〃差额数量〃   

GoTo LINE4:   

返回目录 上一页 下一页 回到顶部 0 0

你可能喜欢的