利用VBA禁用Excel中的F1键
如果在使用Excel过程中习惯使用F2键切换到单元格编辑状态,有时可能会不小心错按了F1键而弹出Excel帮助窗口,特别是对于键盘较小的笔记本这种情况就更容易出现。如果是Excel 2007/2010,Excel帮助窗口会覆盖工作表窗口,显得有些不便。如果要禁用F1键,可以用下面的VBA代码。在Excel中按快捷键Alt+F11,打开VBA编辑器,按Ctrl+G打开“立即”窗口,在其中输入下面的代码并按回车键:
Application.OnKey "{F1}", ""
这样就禁用了F1键的功能。重启Excel或用下面的代码即可恢复F1键正常功能:
Application.OnKey "{F1}"
但上述方法不能在每次启动Excel时都起作用。如果要每次启动Excel后都禁用F1键的功能,可以用多种方法来实现,本文以Excel 2007为例介绍两种方法:
方法一:用加载宏对话框
1.新建一个工作簿,打开VBA编辑器,在“工程”窗口中双击选择“ThisWorkbook”,在右侧的代码窗口中输入下列代码:
Private Sub Workbook_Open()
Application.OnKey "{F1}", ""
End Sub
2.单击“保存”按钮,将工作簿另存为“Excel 97-2003加载宏(*.xla)”格式,如名称为“禁用F1键.xla”。Excel会自动将该文件保存到“AddIns”文件夹中。
3.关闭VBA编辑器,返回Excel工作表界面,按快捷键Alt+T+I,打开“加载宏”对话框,勾选“禁用f1键”,单击“确定”。
这样,每次启动Excel会自动加载上述加载宏文件并禁用F1键。
方法二:启动时打开指定文件夹中的文件
1.同方法一中的步骤1-2建立工作簿文件“禁用F1键.xla”,只是在保存文件时将该文件保存到某个指定的新建文件夹中,如“H:\禁用F1键”,并让该文件夹中只包含该工作簿文件。
2.单击“Office按钮→Excel选项→高级”,在“常规”下的“启动时打开此目录中的所有文件”中输入上述工作簿文件所在的文件夹路径,如“H:\禁用F1键”,单击“确定”。
这样也可以在Excel启动时自动禁用F1键,需要注意的是上述方法在按F2进入单元格编辑状态后,此时按F1键仍然会打开Excel帮助窗口
绛旓細浣犳兂绂佺敤鈥滃彇娑堥殣钘忊濆姛鑳斤紝澶ф鏄笉鎯宠鍒汉鐪嬪埌鏌愪簺琛ㄦ牸銆傚叾瀹炴湁鍙﹀鐨勬濊矾瀹炵幇锛1銆佹妸琛ㄦ牸璁剧疆涓烘繁搴﹂殣钘忥紙濡傚浘锛 濡傛灉鐢╒BA璇彞闅愯棌锛屼緥濡傦細 Sheets(3).Visible=2 2銆佹妸VBA宸ョ▼鍔犲瘑鐮 (闃叉鍒汉鐩存帴淇敼琛ㄦ牸灞炴ц屽彇娑堥殣钘忥級娣卞害闅愯棌鐨勮〃鏍硷紝鍗充娇鐐瑰彇娑堥殣钘忎篃鐪嬩笉鍒般
绛旓細鐩镐俊寰堝灏忎紮浼村湪鏃ュ父鍔炲叕涓兘浼氱敤鍒癊xcel锛屽鏋滄垜浠兂瑕佷繚鎶Excel涓鍖呭惈鍏紡鐨勫崟鍏冩牸璇ユ庝箞鍋氬憿锛熷叾瀹為氳繃浣跨敤VBA灏辫兘瀹炵幇锛屼笅闈㈠皬缂栧氨鏉ヤ负澶у鍏蜂綋浠嬬粛銆傚叿浣撳涓嬶細1. 棣栧厛锛屾墦寮鐢佃剳涓婄殑鈥淓xcel鈥濄傝繘鍏ュ悗锛岀偣鍑婚〉闈笂绔殑鈥滆鍥锯濓紝鍦ㄥ脊鍑洪夐」涓緷娆$偣鍑烩滃伐鍏锋爮鈥-鈥滄帶浠跺伐鍏风鈥濄傚湪寮瑰嚭鐨勫皬绐楀彛涓...
绛旓細鍦‥xcel涓锛屾偍鍙互浣跨敤VBA锛圴isual Basic for Applications锛夋潵缂栧啓浠g爜锛屾牴鎹壒瀹氭潯浠惰嚜鍔ㄩ殣钘忔寚瀹氱殑鍒椼備笅闈㈡槸涓涓畝鍗曠殑姝ラ鎸囧崡锛岃鏄庡浣曞畬鎴愯繖涓浠诲姟锛氭墦寮Excel骞舵寜涓婣lt + F11 鏉ユ墦寮VBA缂栬緫鍣ㄣ傛彃鍏ヤ竴涓柊鐨勬ā鍧楋細鍦╒BA缂栬緫鍣ㄤ腑锛屽彸閿偣鍑婚」鐩垪琛涓殑宸ヤ綔绨垮悕绉帮紝鐒跺悗閫夋嫨鎻掑叆 -> 妯″潡銆傜紪鍐橵BA...
绛旓細鏄笉鏄繖鏍风殑锛氬綋K鍒楁煇鍗曞厓鏍艰緭鍏ユ暟鎹紙涓嶆槸淇敼鏁版嵁锛夋椂锛屽鏋滃悓涓琛岀殑C鍒楀崟鍏冩牸涓庡叾涓婁竴鍗曞厓鏍肩浉绛夋椂锛屽垯浣縀銆F銆丟銆丠銆両鍒楃殑鏈鍗曞厓鏍间篃涓庡叾涓婁竴鍗曞厓鏍肩浉绛夛紱濡傛灉C鍒椾笌涓婁竴鍗曞厓鏍间笉鐩哥瓑鏃跺垯E銆丗銆丟銆丠銆両鍒楁暟鎹笉鍙樸傚鏋滄槸杩欐牱锛屼唬鐮佸苟涓嶉毦锛屼絾瑕佹敞鎰廗鍒楄緭鍏ユ暟鎹殑椤哄簭銆傛槸涓婅堪瑕佹眰鍚...
绛旓細鎴戣瘯鐫鎬荤粨涓涓嬫偍鐨勮姹傦紝鎮ㄧ湅瀵逛笉瀵癸細鍙湁褰撹鍗曟暟閲忛噸閲忕殑K鍒椾负绌轰笖杈撳叆鏁版嵁鐨勬椂鍊欙紝鍋氫竴涓垽鏂細濡傛灉璁㈠崟瑙勬牸涔熶负绌猴紝涓斿鎴稢鍒楀拰涓婁竴琛屼竴鏍凤紝灏辨妸璁㈠崟瑙勬牸濉垚鍜屼笂涓琛屼竴鏍枫傚叾瀹冧换浣曟潯浠朵笅锛VBA瀵硅〃鏍煎唴瀹逛笉鍋氫换浣曞鐞嗐=== 浜诧紝鎴戠殑闂鏄紝杩欎釜澶鏄撹鎿嶄綔浜唦~~姣旀柟璇达紝鎮ㄤ笉灏忓績鍦↘鍒...
绛旓細淇敼浜嗙▼搴忥紝鏄笉鏄繖鏍凤紵璇曚竴涓嬨侾rivate Sub Worksheet_Change(ByVal Target As Range)H = Target.Row: L = Target.Column Hs = 3: He = Cells(60000, 3).End(xlUp).Row If He < Hs Then He = Hs Else He = He + 1 End If Lb = 11 Columns("D:D").NumberFormatLocal = ...
绛旓細濡傛灉闇瑕鐢╒BA浠g爜鍦‥xcel宸ヤ綔琛ㄤ腑璁剧疆鎵撳嵃鍖哄煙锛屽彲浠ョ敤涓嬮潰鐨勬柟娉曘備竴銆佽缃墦鍗板尯鍩 鏂规硶涓锛氱敤PageSetup.PrintArea灞炴с備唬鐮佸涓嬶細Sub SetPrintArea()Sheet1.PageSetup.PrintArea = "A1:F15"End Sub 涓婅堪浠g爜灏嗗尯鍩烝1:F15璁剧疆涓烘墦鍗板尯鍩熴傚鏋滆鍚屾椂璁剧疆澶氫釜鎵撳嵃鍖哄煙锛屽彲浠ュ皢涓婅堪浠g爜鏀逛负锛歋ub Set...
绛旓細3銆佹妸绯荤粺鑿滃崟鍜屽揩鎹疯彍鍗涓殑鍒犻櫎琛岃彍鍗曢」灏佷簡銆傚鏋滃湪SelectChange浜嬩欢涓紝鐢ㄦ埛閫夋嫨鐨勪笉鏄1銆2琛岋紝閲嶆柊婵娲昏繖涓彍鍗曢」鍏佽浠栧垹闄わ紝涓嶇劧浠嶇劧淇濇寔鑿滃崟椤圭殑涓嶅彲鐢ㄧ姸鎬 4銆佹渶濂借兘鐢╒BA鎶婄浉鍏崇殑蹇嵎閿篃灏佷簡 杩欐牱瑙e喅涓嶆槸閲囩敤鐨刄NDO鏈哄埗锛屾墍浠ヤ笉浼氶棯鐑侊紝鐢ㄦ埛鍙互閫夊垪锛屼究閫変腑鍚庡垹闄よ彍鍗曚笉鍙敤锛屼粛鐒跺垹涓...
绛旓細excel4.0瀹忔槸鏃犳硶绂佺敤鐨锛屽彧鏈夊湪鎵撳紑宸ヤ綔绨垮悗锛屾壘鍒板畠浠苟鍒犻櫎锛屾墠鑳绂佹瀹冧滑杩愯銆
绛旓細浣犱細鐪嬪埌杩欎釜瀵艰埅鏍忓彲浠ュ睍寮骞跺彲浠ュ閲岃竟鐨勪唬鐮佽繘琛屾煡鐪嬪拰缂栬緫浜嗐傚彲浠ユ煡鐪嬪拰淇敼浠g爜骞朵笉浠h〃浣犺В闄や簡鍔犲瘑锛屾兂瑕佽В闄ゅ姞瀵嗙姸鎬侊紝杩樻槸鍦ㄣ愬伐鍏枫戙VBAProject灞炴с戜腑锛屾墦寮灞炴ч潰鏉裤傚湪淇濇姢閫夐」涓嬶紝鍙栨秷鍕鹃夈愭煡鐪嬫椂鎵鍔ㄥ伐绋嬨戯紝鐒跺悗鍒犻櫎瀵嗙爜锛岀偣鍑荤‘瀹氥傛渶鍚鍏抽棴excel鐨鏃跺欎篃瑕侀夋嫨銆愪繚瀛樸戙Excel涓淇濇姢vba...