excel聚光灯设置的vba实现 Excel应用的聚光灯效果,如何实现?
\u6c42\u4e2aEXCEL\u8fd9\u4e2a\u805a\u5149\u706f\u5b8f\u4ee3\u7801Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Rng As Range
Set Rng = Target.Range("a1")
Cells.Interior.ColorIndex = 0 '\u6e05\u9664\u6240\u6709\u80cc\u666f\u8272
Rng.EntireColumn.Interior.ColorIndex = 37 '\u8bbe\u7f6e\u5f53\u524d\u5217\u989c\u8272
Rng.EntireRow.Interior.ColorIndex = 37 '\u8bbe\u7f6e\u5f53\u524d\u884c\u989c\u8272
Rng.Interior.ColorIndex\uff1d2'\u8bbe\u7f6e\u5f53\u524d\u5355\u5143\u683c\u989c\u8272
End Sub
\u8bd5\u4e00\u4e0b\u4e0d\u786e\u5b9a\uff0c\u81ea\u5df1\u8eab\u8fb9\u6ca1\u7535\u8111
\u65b9\u6cd5\u6b65\u9aa4\u4e00\uff1a
\u5168\u9009\u6570\u636e\uff0c\u7136\u540e\uff0c\u5f00\u59cb\u2014\u2014\u6761\u4ef6\u683c\u5f0f\u2014\u2014\u65b0\u5efa\u89c4\u5219\u2014\u2014\u4f7f\u7528\u516c\u5f0f\u786e\u5b9a\u8981\u4f7f\u7528\u683c\u5f0f\u7684\u5355\u5143\u683c
\u65b9\u6cd5\u6b65\u9aa4\u4e8c\uff1a
\u5728\u516c\u5f0f\u90a3\u4e00\u9879\uff0c\u586b\u5165\u62ec\u53f7\u4e2d\u7684\u516c\u5f0f=(cell("row")=rol())+(cell("col")=column())
\u7136\u540e\uff1a\u683c\u5f0f\u2014\u2014\u586b\u5145\uff0c\u9009\u62e9\u81ea\u5df1\u559c\u6b22\u7684\u989c\u8272\uff0c\u5b8c\u4e86\u70b9\u786e\u5b9a\u3002
\u5230\u8fd9\u91cc\uff0c\u5728\u6761\u4ef6\u683c\u5f0f\u4e2d\u4f7f\u7528\u7684\u65f6\u5019\uff0c\u5355\u5143\u683c\u7684\u989c\u8272\u5e76\u4e0d\u80fd\u968f\u6d3b\u52a8\u5355\u5143\u683c\u7684\u53d8\u5316\u800c\u81ea\u52a8\u66f4\u65b0\u3002\u6240\u4ee5\u8fd8\u9700\u8981\u4e00\u70b9\u5c0f\u5c0f\u7684\u4ee3\u7801\u3002
\u6309ALT+F11\u8fdb\u5165VBA\u4ee3\u7801\u7f16\u8f91\u5668\uff0c\u7136\u540e\u6309F7\u8fdb\u5165\u4ee3\u7801\u7a97\u53e3\uff0c\u9009\u62e9wordsheet\uff0c\u5728endsub\u4e0a\u9762\u63d2\u5165calculate\uff0c\u6700\u540e\u4fdd\u5b58\uff0c\u5c31OK\u4e86\u3002
\u65b9\u6cd5\u6b65\u9aa4\u4e09\u6548\u679c\u56fe\uff1a
1
先看效果图,本聚光灯的效果是修改的单元格的背景样式,不会改变原有的底色和边框。
2
注意,由于水平有限,制作出来的聚光灯有一个缺陷,使用后会将未使用的单元格添加白色背景,如果您的数据使用了边框和底色,将不会受到影响,从下图可以看出,没有使用到的单元格的网格线看不到了。如果对这个有介意的,可以忽略本方法,网络上有成熟的插件,使用起来效果会更好。
第一步:新建一个Excel,名称自己喜欢就好。右击标签页-查看代码,打开代码编辑窗口。
第二步:在左侧工程界面右击-添加-类模块
Excel聚光灯加载宏【VBA】
第三步:双击打开类模块编辑窗口,复制如下代码到类模块
Public WithEvents app As Excel.Application
Private Sub app_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Cells.Interior.Pattern = xlPatternAutomatic
Selection.EntireRow.Interior.Pattern = xlPatternGray8
Selection.EntireRow.Interior.PatternColor = B
Selection.EntireColumn.Interior.Pattern = xlPatternGray8
Selection.EntireColumn.Interior.PatternColor = B
Selection.Interior.Pattern = xlPatternAutomatic'上面是修改背景样式,一般很少使用这种格式,所以几乎不存在勿修改的情况
End Sub
Private Sub app_WorkbookOpen(ByVal Wb As Workbook)
Set xlapp.app = Nothing
End Sub
第四步:在左侧工程窗口,右击-添加-模块。
第五步:双击模块,复制如下代码到模块中
Public lampcolor As VariantPublic B As Variant
Public xlapp As New 类1
Sub auto_open()
Set xlapp.app = Application
End Sub
Sub auto_close()
Set xlapp.app = Nothing
' Cells.Interior.ColorIndex = xlNone
Cells.Interior.Pattern = xlPatternAutomatic
End Sub
Sub colorselection()
On Error GoTo 10
A = ActiveWorkbook.Colors(1)
Application.Dialogs(xlDialogEditColor).Show (1)
B = ActiveWorkbook.Colors(1)
ActiveWorkbook.Colors(1) = A
10 ActiveWorkbook.ResetColors
End Sub
第六步:Excel 文件-另存为-加载宏文件
地址就为默认地址就好,默认地址是一个隐藏文件夹,放在这里安全一些
Excel聚光灯加载宏【VBA】
第七步:显示开发工具标签页,文件-选项-自定义功能区,右侧勾选开发工具。
第八步:开发工具-加载项-浏览,找到刚刚另存为的加载宏,确认!
第九步:新建一个Excel,文件-选项-自定义功能区,从图中4的位置下拉选择宏;在图中5位置新建一个选项卡(可以在9位置重命名),新建一个组(也可以重命名),然后在图中7的位置依次将三个宏添加到新建的组中。
第十步:发现Excel工具栏中多了一个标签页,点击open就可以使用了,点击close就关闭,点击colorselection就可以选择颜色。
每当打开一个Excel文件时,默认都是关闭的,防止误修改。
搞定!
以后每打开一个Excel都可以使用聚光灯啦。
绛旓細1銆佹寜Ctrl + A閫変腑鏁村紶琛ㄦ牸锛岀偣鍑汇愬紑濮嬨戣彍鍗曚笅鐨勩愭潯浠舵牸寮忋戯紝閫夋嫨銆愭柊寤鸿鍒欍戙2銆侀夋嫨銆愪娇鐢ㄥ叕寮忕‘瀹氳璁剧疆鏍煎紡鐨勫崟鍏冩牸銆戯紝杈撳叆濡傚浘鎵绀虹殑鍏紡锛岀偣鍑汇愭牸寮忋戙=CELL("row")=ROW()3銆佽缃ソ濉厖鐨勯鑹层4銆佽繖鏃朵細杩斿洖鏉′欢鏍煎紡瑙勫垯寤虹珛绐楀彛锛岀偣鍑汇愮‘瀹氥戙5銆佽繖鏃剁敤榧犳爣鐐瑰嚮涓涓崟鍏冩牸锛屾寜...
绛旓細Microsoft Excel閭d釜vba浠g爜涓嶅お濂界敤锛屽缓璁洿鎺ョ敤WPS excel鎵撳紑锛岄偅涓綘鏈変竴涓槄璇绘ā寮忥紝鍙互鐩存帴瀹炵幇鍗佸瓧鏋剁殑鑱氬厜鐏鏁堟灉
绛旓細褰撴垜浠亣鍒扮殑鏁版嵁姣旇緝澶氱殑鏃跺欙紝鎬讳細涓嶉潬杩戝睆骞曪紝鐢熸曟妸鏁版嵁鐪嬮敊浜嗭紝鍏跺疄澶у彲涓嶅繀杩欐牱锛屼粖澶╁氨璺熷ぇ瀹跺垎浜笅濡備綍鍦excel涓鍒朵綔鑱氬厜鐏鏁堟灉锛屽啀涔熶笉鐢ㄦ媴蹇冪湅閿欐暟鎹簡锛璁剧疆鐨鍏紡鏄氱敤鐨勭洿鎺ュ鍒跺嵆鍙娇鐢紝涓嬮潰灏辫鎴戜滑鏉ヤ竴璧锋搷浣滀笅鍚 涓銆乧ell鍑芥暟 鍦ㄨ繖閲屾垜浠渶瑕佺敤鍒癱ell鍑芥暟锛岃繖涓嚱鏁扮殑鐨勪綔鐢ㄦ槸杩斿洖鎵...
绛旓細绗竴姝ワ細璁剧疆鏉′欢鏍煎紡锛屾寚瀹氬簳绾归鑹层傞夋嫨瀵瑰簲鍖哄煙锛岀偣鍑诲紑濮嬧旀潯浠舵牸寮忊旀柊寤鸿鍒欌斾娇鐢ㄥ叕寮忚缃牸寮忓崟鍏冩牸銆傚叕寮=(cell("row")=row())+(cell("col")=column())锛屽簳绾规樉鑹查夋嫨浣犲枩娆㈢殑棰滆壊銆傚涓嬪浘锛氱浜屾锛氭彃鍏VBA浠g爜锛璁剧疆鑱氬厜鐏鏁堟灉銆傛寜alt+f11锛岃繘鍏ヤ唬鐮佺紪杈戞锛岃緭鍏ヤ互涓嬩唬鐮侊紝璁剧疆濂借仛鍏夌伅...
绛旓細VBA涓昏鏄Е鍙戝拰鎸囧畾鍗曞厓鏍笺傚伐鍏凤細鐢佃剳銆excel2007銆1銆佹墦寮鐢佃剳妗岄潰涓婄殑excel2007杞欢銆2銆佹墦寮涓涓Excel鏂囦欢锛岄紶鏍囧彸鍑讳笅闈㈢殑宸ヤ綔琛紙濡俿heet1锛夈傞夋嫨鈥滄煡鐪嬩唬鐮佲濓紝灏卞彲浠ユ墦寮VBA缂栬緫鐣岄潰銆3銆侀夋嫨濡備笅鍥炬墍绀虹殑涓嬫媺鑿滃崟锛岄夋嫨鈥渨orksheet鈥濄4銆侀夋嫨濡備笅鍥炬墍绀虹殑涓嬫媺鑿滃崟锛岄夋嫨瀵瑰簲鐨勮Е鍙戞ā寮忋傝繖閲岄夋嫨...
绛旓細澶у閮界煡閬撳湪宸ヤ綔涓紝琛ㄦ牸鍐呭寰寰琚粬浜哄弽鍙嶅澶嶄慨鏀瑰娆★紝濡傛灉鎯崇煡閬撴湁鍝簺鍦版柟琚慨鏀硅繃锛屾湁浠涔堝ソ鐨勬柟娉曞憿锛熷綋鐒舵柟娉曚笉姝竴绉嶏紝鍦ㄦ湰鏂囧皢涓哄ぇ瀹朵粙缁嶄笅浣跨敤vba浠g爜瀹炵幇淇敼鍐呭楂樹寒鏄剧ず锛岃屼笖鍙渶3鍙ba浠g爜鍗冲彲瀹炵幇銆傞鍏璁剧疆瀹忕殑瀹夊叏鎬э紝鏈夊浘鐨勫ぇ瀹跺弬鐓ц缃竴涓嬪嵆鍙傛帴涓嬫潵浠ヤ慨鏀规湰宸ヤ綔绨夸腑鐨勭6涓〃...
绛旓細鏂规硶/姝ラ 1 棣栧厛锛屾垜浠渶瑕佹墦寮涓涓excel琛ㄦ牸锛屾墦寮鍚庯紝鐐瑰嚮寮鍙戝伐鍏烽夐」锛岀劧鍚庣偣鍑荤孩鑹茬瑪鍦堜腑鐨剉isual basic閫夐」锛2 蹇嵎鍚姩鏂规硶 褰撶劧鎴戜滑鏈甯哥敤鐨勬柟娉曡繕鏄娇鐢ㄧ粍鍚堥敭鏉ュ紑鍚痸ba绐楀彛锛屽悓鏃舵寜涓媋lt+f11缁勫悎閿嵆鍙 3 绋嬪簭绀轰緥 鍦ㄦ墦寮鐨剉ba鐣岄潰鍙冲嚮this workbook閫夐」锛屼緷娆¢夋嫨锛屾彃鍏ワ紝妯″潡閫夐」鍗★紝鍦ㄥ脊鍑哄鍥...
绛旓細鐪嬩笉瑙佷唬鐮侊紝鏃犳硶浼樺寲
绛旓細鎴戜滑閮界煡閬撳畯鐨勪綔鐢ㄦ槸鎶婁竴浜涘懡浠ょ粍缁囪捣鏉ュ畬鎴愮壒瀹氱殑浠诲姟銆傚畯鏄竴涓娊璞$殑姒傚康锛屾墍浠ラ渶瑕佸埄鐢ㄢVBA鈥濋珮绾х▼搴忚瑷鏉ョ紪鍒躲傚湪Excel涓鐢ㄢ淰BA鈥濋珮绾х▼搴忚瑷缂栧埗瀹,鍙互瀹炵幇浣嗘槸闇瑕佸姝ユ墠鑳藉畬鎴愮殑鎿嶄綔銆傞偅涔圗xcel瀹忔庝箞鍚敤鍛紵鏈夊叴瓒g殑鍚屽鍙互鐪嬬湅涓嬮潰鐨勪袱绉嶆柟娉曘傜涓绉嶆柟娉:1銆佸湪鈥滃紑鍙戝伐鍏封濋〉闈腑,鐐瑰嚮...
绛旓細闇瑕佸嬀閫変俊浠VBA銆傝В鍐宠繖涓棶棰樼殑鏂规硶濡備笅锛1銆佸厛鎵撳紑鐢佃剳涓婇潰鐨excel锛岀劧鍚庣偣鍑诲乏涓婅鐨勬枃浠躲2銆佷箣鍚庨夋嫨寮圭獥涓殑閫夐」锛3銆佺劧鍚庣偣鍑讳俊浠讳腑蹇冿紱4銆佷箣鍚庣偣鍑讳俊浠讳腑蹇璁剧疆锛5銆佺劧鍚庣偣鍑诲畯璁剧疆锛6銆佷箣鍚庣偣鍑诲嬀閫変笂淇′换瀵筕BA宸ョ▼瀵硅薄妯″瀷鐨勮闂紝涔嬪悗鐐瑰嚮纭畾灏卞彲浠ヨВ鍐宠繖涓棶棰樹簡銆