Excel2003高级VBA编程---第11章 VBA编程示例和技巧
上一篇 /
下一篇 2006-10-31 21:30:09
/ 个人分类:Excelvba
查看( 4003 ) /
评论( 27 )
实例六 基础设置
小结:精英博客Md\2b
z
本节主要论证如何在vba中进行Excel的基础设置?例如:
1、文本自动换行切换
J P*K Co0Selection.WrapText = Not Selection.WrapText
h5\D3o&ViWX02、自动切换行号和列标
&xdkVxkt0ActiveWindow.DisplayHeadings = Not ActiveWindow.DisplayHeadings精英博客!B OQ4\P]i
3、自动切换网络线精英博客Bj@&bA!s
ActiveWindow.DisplayGridlines = Not ActiveWindow.DisplayGridlines精英博客j+Eh"|1lq#s,~
4、切换工作表标签精英博客'ZX\1|0E
.DisplayWorkbookTabs = Not .DisplayWorkbookTabs 精英博客Z"H`_Ij
5、切换编辑栏精英博客A]+KaU
.DisplayFormulaBar = Not .DisplayFormulaBar 精英博客 c0e C9e'Zx
6、切换状态栏
+E1zt[D1?$F4E0U2M xm0 .DisplayStatusBar = Not .DisplayStatusBar 精英博客
l/wl_1F
7、切换任务栏窗口精英博客%Yy&Ju)_
aAd$e
.ShowWindowsInTaskbar = Not .ShowWindowsInTaskbar
IV'Sht5M0 在实际应用中,如果没有记住这些属性,可以录制一个宏进行相关方法、对象的学习。
具体代码如下:
Sub 自动换行切换()精英博客GqkOEAsi
'切换换行格式,wraptext单元格格式设置文本为自动换行精英博客9F1y"H|$]6l
'只要格式设置为true或者false都可以利用not进行自动切换
7qH~;m"C]SJ/J,M.c0If TypeName(Selection) = "Range" Then
+@3XP#\:x0 Selection.WrapText = Not Selection.WrapText
)~jO"J4F&B#qA"c0End If
*k!i2R#gCa0End Sub
Sub 自动切换行号和列标()精英博客T:T u_ cg?@3W
'利用activewindows的displayheadings属性切换行号和列标
6l(T6\!`t%xR0ActiveWindow.DisplayHeadings = Not ActiveWindow.DisplayHeadings
U_hx1N]0End Sub
Sub 自动切换网络线()
/_9vv#z:e5dt"N@0ActiveWindow.DisplayGridlines = Not ActiveWindow.DisplayGridlines精英博客:nv&K P'aWz
End Sub
:\6X)p$]EE*V/q{.k0Sub 自动切换编辑栏等()精英博客-uFFe,M
With ActiveWindow精英博客3H6[#N#?*G-tx
.DisplayWorkbookTabs = Not .DisplayWorkbookTabs '切换工作表标签精英博客7`nXbx`0V&c
End With
B(o1y?2l.?r0With Application
'_*Gta@P5g(|}0 .DisplayFormulaBar = Not .DisplayFormulaBar '切换编辑栏
B7^SOBMB0 .DisplayStatusBar = Not .DisplayStatusBar '切换状态栏
d
zJJ_1S;~g8HR0 .ShowWindowsInTaskbar = Not .ShowWindowsInTaskbar '切换任务栏窗口
)r.N"Jp&a~b0End With
#JWu| T2@z"D/eZ0 精英博客6A/xYb,Vz0YL fhvD
End Sub精英博客j[KX5CjbD
相关阅读:
- Excel2003高级VBA编程--第八章 代码时间测试 (west_wolf, 2006-10-20)
- Excel2003高级VBA编程--第七章 批注 (west_wolf, 2006-10-20)
- Excel2003高级VBA编程--第十章 自定义函数 (west_wolf, 2006-10-20)
- 提高vba运行效率 (west_wolf, 2006-10-23)
- vba编程实例与技巧 (west_wolf, 2006-10-23)
- 工作簿基本操作应用实例 (west_wolf, 2006-10-24)
- Excel2003高级VBA编程---第11章 VBA编程示例和技巧 (west_wolf, 2006-10-26)
- Excel2003高级VBA编程---第11章 VBA编程示例和技巧 (west_wolf, 2006-10-31)
- 第11章 高级技巧 (west_wolf, 2006-10-31)
- Excel2003高级VBA编程---第11章 VBA编程示例和技巧 (west_wolf, 2006-10-31)
论坛模式
推荐
收藏
分享给好友
管理
TAG:
Excelvba
-
west_wolf
发布于2006-10-20 07:54:30
-
Excel2003高级VBA编程--第七章 批注
第七章 批注
}L#E.bMV:V
6b MuJ:Anj]!j1、Comment为Range对象的属性
zg`#y/Jh2K@OFFICE|WORD|EXCEL|ACCESS|OUTLOOK|PPT|VBA|软件开发|办公应用2、Comments返回指定工作表中所有的批注,可以利用For each对工作表中所有批注循环
tX([ b!T/ED|V题目:
ib9]I A@(1)根据批注的作者,删除批注
DmZm \ j Qq-{(2)隐藏工作表中所有批注精英博客(Q/e8~T1k!?"? z
(3)为区域中添加批注www.officefans.netdm,j[ @Gt/BvH
(4)测试Comments(index)返回指定工作表中第index个批注
7\RZ3z_Yk8HOFFICE|WORD|EXCEL|ACCESS|OUTLOOK|PPT|VBA|软件开发|办公应用'T#x8Dy~ec
g;T
Sub 统计批注个数()www.officefans.netS"odOeh
Dim Flag As CommentY,lf*o-h
'1、Comments返回指定工作表中所有的批注精英博客 C q@i^;v5c5^ y
'2、用Comment属性返回一个Comment对象
o%W"a&X`9O
wBQ[精英博客For Each Flag In ActiveSheet.Comments&bC._ |3_%OT(K
t = t + 1OFFICE|WORD|EXCEL|ACCESS|OUTLOOK|PPT|VBA|软件开发|办公应用RR+H?K+@mpS
Next Flag-i@.TB7SR.wq
MsgBox "活动工作表中共有:" & t & "个批注", vbOKOnly, "统计批注个数"
2N'H8zDiy xL;X精英博客-eN-n"eJ(n'o${2b
End SubOFFICE|WORD|EXCEL|ACCESS|OUTLOOK|PPT|VBA|软件开发|办公应用'_5?`i,c
_
_-{s Vk0KGo$jc]P\
Sub CountComment()
/l6xs,u6IO"zDim Flag As Rangewww.officefans.net'Zx+N5GKXRL
'利用err来判断是否发生错误
8Z#{draRh*x!?www.officefans.netFor Each Flag In ActiveSheet.UsedRange
-Nj0\;C%{"[ E$pb(K On Error Resume Next
t
X,tT(u:X t = Flag.Comment.Text(sne~}
If Err = 0 Then k = k + 1OFFICE|WORD|EXCEL|ACCESS|OUTLOOK|PPT|VBA|软件开发|办公应用wvyAn2V
Next Flag精英博客
]D1M*zX#m
MsgBox "活动工作表中共有:" & k & "个批注", vbOKOnly, "统计批注个数"
x;T4}S
e|*Z
`C%S;f1^
End Sub
n
N5l-u4ZB^bTdcSub 选定批注单元格()
6I]Tm3o精英博客Dim a() As Range
Css9P1i1E
Q6nvyy精英博客Dim Flag As Rangewww.officefans.net9C0]"^!s_Z
F!m
ReDim a(ActiveSheet.Comments.Count)
Q*?Y'V6T~9dcp YFor i = 1 To ActiveSheet.Comments.Count
zU7ct O@g~精英博客 Set a(i - 1) = ActiveSheet.Comments(i).ParentOFFICE|WORD|EXCEL|ACCESS|OUTLOOK|PPT|VBA|软件开发|办公应用IvJT6^@@W!`f
Next i&D1cw*`EkN$Y%^
Set Flag = a精英博客)mgioz
W
Flag.Select
'BI"h?.Ye精英博客End Sub'w[1j XDZ
Sub selectcomment()
D5f;\X(J;e7e$lOFFICE|WORD|EXCEL|ACCESS|OUTLOOK|PPT|VBA|软件开发|办公应用'使用编辑定位功能,定位批注,选定单元格OFFICE|WORD|EXCEL|ACCESS|OUTLOOK|PPT|VBA|软件开发|办公应用Cw,B,If#F
Cells.SpecialCells(xlCellTypeComments).SelectOFFICE|WORD|EXCEL|ACCESS|OUTLOOK|PPT|VBA|软件开发|办公应用]1V?!N@/n E'N,r
End Sub
o_,C,GG!l精英博客Sub 显示或隐藏批注()OFFICE|WORD|EXCEL|ACCESS|OUTLOOK|PPT|VBA|软件开发|办公应用I;z[ `4Ym C j
Dim Flag As Commentwww.officefans.net-~/FC5S:X
For Each Flag In ActiveSheet.Comments7k'eO/ruHm-[,Y5f
If Flag.Visible = True Then
i
? B/|;^}4?精英博客 Flag.Visible = False
|,h\(Wt5Q Else
Tw6FG1L JE&Pwww.officefans.net Flag.Visible = True
Oo|hOr {:GN'S6i.v
End If
/F)n@3^2y3fOFFICE|WORD|EXCEL|ACCESS|OUTLOOK|PPT|VBA|软件开发|办公应用 i|.}&s&vM4`
Next FlagOFFICE|WORD|EXCEL|ACCESS|OUTLOOK|PPT|VBA|软件开发|办公应用JO},C
zo a-ec4@
End Sub
V9[&~f.dD`Sub DisHideComment()VDW@Wpe
'利用application的displaycommentindicator属性来显示隐藏批注www.officefans.netgG3b2~v'Kt#b/W
'Indicator表示批注的标识符
"R4x,y)ID
zP bIf Application.DisplayCommentIndicator = xlCommentAndIndicator Then(C4S/i'|@{8O&Y8\1n2^'jt
Application.DisplayCommentIndicator = xlCommentIndicatorOnly
^f|
J-b9W:`M
_lzFwww.officefans.netElsem'd~*@8D-I3xQh)n
Application.DisplayCommentIndicator = xlCommentAndIndicator
y CG|{:]O gw7cOFFICE|WORD|EXCEL|ACCESS|OUTLOOK|PPT|VBA|软件开发|办公应用End If
7qL)?g FzEnd Sub
jC!C{~)M q/_Sub 输出所有批注()@s$B z6b(o6fj
]#Br"V~
'在Sheet2工作表中返回Sheet1工作表中所有批注
+l)RCk%y&k4N!Awww.officefans.net'这里使用flag.parent.comment.text返回批注中的内容
e0dy7| ~ `"r2P5XDim Flag As CommentOFFICE|WORD|EXCEL|ACCESS|OUTLOOK|PPT|VBA|软件开发|办公应用T6}%}9c4Uxs
Dim t As Integer
)r5a8g Q"FMi = 1www.officefans.netqK0hPG;g^S4G
With Worksheets("Sheet2")精英博客}u/N^qV'}9e
.Cells.Clear8l'b2HG4vn*Dc
.Cells(1, 1) = "第n个批注"
GJ:Y8P2Gx.} .Cells(1, 2) = "批注地址" pW0G/l,\$[2dK(S"D@
.Cells(1, 3) = "批注内容"OFFICE|WORD|EXCEL|ACCESS|OUTLOOK|PPT|VBA|软件开发|办公应用J7Qm7vz,e:m,? z!M;D
For Each Flag In Worksheets("Sheet1").Comments!H;t;O%k2y
i = i + 1
^Zt4F4g`精英博客 t = t + 1OFFICE|WORD|EXCEL|ACCESS|OUTLOOK|PPT|VBA|软件开发|办公应用J0vwz|A F
.Cells(i, 1) = t
.P1X.YuFZ'`-hNOZp精英博客 .Cells(i, 2) = Flag.Parent.Address
Xv)\!xLp8}D2HE .Cells(i, 3) = Flag.Parent.Comment.TextOFFICE|WORD|EXCEL|ACCESS|OUTLOOK|PPT|VBA|软件开发|办公应用
Yp6Y9yF @vV
Next Flag精英博客j:c:bF^d1s
.Columns("B:B").EntireColumn.AutoFitv,og_$Vr
p7L`*`
.Columns("C:C").ColumnWidth = 34
~|`&O w4Mvp zzwww.officefans.net .Cells.EntireRow.AutoFit
^+J S6LE0@}8[!F'NEnd WithN:R&^Mfb_a1M
End Sub精英博客P7t$C9w$i4aM0UI*C
Sub 改变批注颜色()
#l{{9u&hEwwDim Flag As Comment c9o)p r%J
For Each Flag In ActiveSheet.Comments$U${,Q0O.mo4|
Flag.Shape.Fill.ForeColor.SchemeColor = Int((80) * Rnd + 1) '1-80
S|-Y;BBug,ENOFFICE|WORD|EXCEL|ACCESS|OUTLOOK|PPT|VBA|软件开发|办公应用 Flag.Shape.TextFrame.Characters.Font.ColorIndex = Int((56) * Rnd + 1) '1-56OFFICE|WORD|EXCEL|ACCESS|OUTLOOK|PPT|VBA|软件开发|办公应用#qxL%YN
|7M9F4Qj
Next Flag
z
EE7{l}r;ch
lOFFICE|WORD|EXCEL|ACCESS|OUTLOOK|PPT|VBA|软件开发|办公应用End SubU8YH,h&mB
0z0g6g6b6EX
Sub 添加批注()
4LR{OosDim Flag As Range_8a$}w1@(jwZ)C
On Error Resume Nextzkybu!b{
For Each Flag In ActiveSheet.Range("g8:i17")OFFICE|WORD|EXCEL|ACCESS|OUTLOOK|PPT|VBA|软件开发|办公应用(k.FB+TF4D0cv"_T
t = t + 1o:~cm&[[5u
Flag.AddComment.Text "hner:这是我添加的第" & t & "个批注" & Chr(13) + Chr(10) & Date
UZ&A#{5\Awf`OFFICE|WORD|EXCEL|ACCESS|OUTLOOK|PPT|VBA|软件开发|办公应用 &CD,~!`8J'}4v5m*K'?
Next Flag