友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!
Excel word ppt office使用技巧大全(DOC格式)-第67部分
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部! 如果本书没有阅读完,想下次继续接着阅读,可使用上方 "收藏到我的浏览器" 功能 和 "加入书签" 功能!
For Each dd In Range(Cells(2; 1); Cells(lastcell; 1))
If dd = 〃〃 Then Exit Sub
ff = dd。value
Set c = Sheets(1)。Columns(1)。Find(ff; lookat:=xlWhole)
If Not c Is Nothing Then
c。Offset(0; 2) = dd。Offset(0; 2)
c。Offset(0; 3) = dd。Offset(0; 3)
c。Offset(0; 5) = dd。Offset(0; 4)
End If
Next
End Sub
公式的自动填充
一张表中某几个不连续的列有公式,我不想一次全复制下去,最好是让它自动填充上一行的公
式,这样用多少就自动填下去,不知道有没有办法。
解答:Dim Mrow; Xrow; i As Integer
Mrow = Range(〃a65536〃)。End(xlUp)。Row
Xrow = Range(〃d65536〃)。End(xlUp)。Row + 1
Application。ScreenUpdating = False
For i = Xrow To Mrow
If Cells(i; 1) 〃〃 Then
Cells(i; 4) = Cells(i 1; 4) + Cells(i; 2) Cells(i; 3)
Cells (i; 6) = Cells(i; 2) * Cells(i; 5)
Cells(i; 8) = Cells(i 1; 8) Cells(i; 7) + Cells(i; 6)
Cells(i; 7) = Cells(i; 5) * Cells(i; 3)
End If
Next i
Application。ScreenUpdating = True
先输入其它列数据;最后再输入日期。
我想 A1 的值=A1+B1;其中B1 为变量,A1 为累计值
解答 1:用VBA 实现。
For i=1 to n
392
…………………………………………………………Page 393……………………………………………………………
A1=sheet1。cells(1;1)
A1=A1+B1
sheet1。cells(1;1)=A1
next n
解答 2:好象不用那么麻烦。选择B1 单元格,复制,选择 A1 单元格,选择性粘贴 (数值,加)
即可。
让〃工资总计〃等于几个打开的各个工作薄的最后一个工作表中的〃工资〃和
解答:把几个〃工资〃单元格定义为名称〃工资〃(方法:插入/名称/定义;在引用位置中选中几个
要相加的单元格;把这些区域定义为〃工资〃);在〃工资总计〃中输入公式 =sum(工资) 即可!或:
先打开宏记录器,然后你手工做一遍,最后停止纪录,在 vba 编辑其中编辑相应的代码即可!
如果只是想用公式解决,可以用 sum 函数,利用三维引用可以解决此问题
方法 3:Sub DD()
For i = 1 To Workbooks。Count
'bookname = Workbooks(i)。Name
'If bookname 〃name〃 Then '可自行判断名称〃主控 Workbook〃不列入加总
last = Workbooks(i)。Sheets。Count '最后一页(亦可用 SHEETS 名称判断加总)
sum1 = sum1 + Workbooks(i)。Sheets(last)。Range(〃a1〃) 'A1:工资
'End If
Next i
'B1' = sum1
End Sub
有两个表,表 1、表 2,其中的数据有相同的,如何比较出两个表中的相同的数据
解答:For i=1 to a(行数)
For j=1 to b(列数)
Da(i;j)=sheets(1)。cells(i;j)
Db(i;j)=sheets(2)。cells(i;j)
Next j
Next i
For i=1 to a(行数)
For j=1 to b(列数)
For m=1 to a(行数)
For n=1 to b(列数)
If Da(i;j)= Db(m;n) then
K=k+1
sheets(3)。cells(k;1)= Da(i;j)
end if
Next n
Next m
Next j
Next i
或:用函数 vlookup 寻找即可。
393
…………………………………………………………Page 394……………………………………………………………
请问如何在窗体中播放动画
解答:Sub 动画 ()
'先作个快取图案
ActiveSheet。Shapes(〃AutoShape 1〃)。Select
For x = 1 To 800 Step 0。5
Selection。Left = x
Next
Selection。Left = 1
End Sub
在 Excel 中;如何用程控某一单元格不可编辑修改
解答:在 XP 中:
Private Sub Workbook_Open()
ProtectSpecialRange (〃A1〃)
End Sub
Sub ProtectSpecialRange(RangeAddress As String)
On Error Resume Next
With Sheet1
。Cells。Locked = False
。Range(RangeAddress)。Locked = True
。Protection。AllowEditRanges。Add Title:=〃区域 1〃; Range:=Range(RangeAddress) _
; Password:=〃pass〃
。Protect DrawingObjects:=True; Contents:=True; Scenarios:=True
End With
End Sub
mandBars 的OnUpdate 事件
解答:'这类事件可预置:
'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
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!