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

第82部分

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


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




关闭此文件,然后加载刚保存的加载宏。打开一个文件试试。  

在类模块中的其他事件中加入代码试试,可以看到这个加载宏响应所有文件的事件!  



                                 把公式排整齐  



公式太长,尤其当使用了许多函数,括号一层迭一层时,公式便会变得难以理解。你可以在适 

当位置按<Alt >+ <Enter >来插入分列符号,甚至加进空格,把公式排得整整齐齐。  



                         寻找特定档案并以对应的软件开启  



可否在  excel  中输入一个  档名,excel  会到预定  path  下的  folder  找出该案并开启呢?  



                                                                       436  


…………………………………………………………Page 437……………………………………………………………

                                                               



解答 1:如果知道具体位置,可这样:  

Sub Find_WorkBook()  

Dim wb As Workbook  

Dim String1; String2; Message; Title; Default As String  

Default = 〃WindRider〃  

Title = 〃Find WorkBook〃  

String1 = InputBox(Message; Title; Default)  

      String2 = Application。ActiveWorkbook。Path  

      Set wb = Workbooks。Open(String2 & 〃” & String1 & 〃。xls〃; False; False)  

End Sub  

解答 2:如果只知道文档会在某个  path  下,但实际位置要  search,可这样:  

Sub Find_WorkBook()  

On Error Resume Next  

Dim wb As Workbook  

Dim String1; String2; Message; Title; Default As String  

Default = 〃OnKey〃  

Title = 〃Find WorkBook〃  

String1 = InputBox(Message; Title; Default)  

  

      If String1 = 〃〃 Then  

          Exit Sub  

      End If  

      With Application。FileSearch  

          。NewSearch  

          。LookIn = 〃E:Autos〃  

          。MatchTextExactly = True  

          。FileType = msoFileTypeExcelWorkbooks  

          。SearchSubFolders = True  

          。Filename = Trim(String1) & 〃。xls〃  

          If 。Execute() 》 0 Then  

                String2 = 。FoundFiles(1)  

                Set wb = Workbooks。Open(String2; False; False)  

          Else  

                MsgBox (〃File No Found!〃)  

                Exit Sub  

          End If  

      End With  

      End Sub  

('Default = 〃OnKey〃  是设定输入对话方块的预设值。'FoundFiles(1)可能发现很多个相同名称 

的文件,但我要打开的是第一个发现的文件。'改成  FileType = msoFileTypeAllFiles。)  

又问:如何根据找到的档案以相关的程式开启呢?  

答:ActiveWorkbook。FollowHyperlink 。FoundFiles(1)  



                                                                                                                437  


…………………………………………………………Page 438……………………………………………………………

                                                         



                                  如何将文件中的某一类控件全部删除  



我的文件中有各种各样的控件,我希望将所有工作表中某一类控件(如 mandbutton,包 

括隐藏的控件)全部删除,程序怎么编?  

解答:Sub Dtlshtbtn()  

For Each sht In ActiveWorkbook。Sheets  

      For Each BtnObj In sht。OLEObjects  

          If Left(BtnObj。Name; 13) = 〃mandButton〃 Then  

                BtnObj。Delete  

          End If  

      Next BtnObj  

Next sht  

End Sub  

又问:我的控件的 name 已改过(初期设计时未注意规范),不能保证前几位是相同的,有什 

么办法判断?  

解答:改一下即可  

Sub Dtlshtbtn()  

      For Each sht In ActiveWorkbook。Sheets  

          For Each btnobj In sht。OLEObjects  

                If Left(btnobj。ProgId; 19) = 〃Forms。mandButton〃 Then  

                      btnobj。Delete  

                End If  

          Next btnobj  

      Next sht  

End Sub  



                              如何列出工具栏快显菜单和单元格右键菜单  



1、        列出工作表标签按右键出现的〃快显功能表〃  

2、        Sub test()  

3、        k = Application。mandBars(〃Ply〃)。Controls。Count  

4、        For i = 1 To k  

5、          MsgBox             〃Id:〃          &            i          &           Chr(13)            &  

    Application。mandBars(〃Ply〃)。Controls(i)。Caption  

6、        Next i  

7、        End Sub  

8、        列出工具栏快显菜单  

9、        Sub ListShortCutMenus()  

10、             Cells。Clear  

11、             Application。ScreenUpdating = False  

12、             Row = 1  

13、             For Each cbar In mandBars  

14、                 If cbar。Type = msoBarTypePopup Then  

15、                       Cells(Row; 1) = cbar。Index  



                                                                                                     438  


…………………………………………………………Page 439……………………………………………………………

                                                                



16、                        Cells(Row; 2) = cbar。Name  

17、                        For col = 1 To cbar。Controls。Count  

18、                              Cells(Row; col + 2) = _  

19、                              cbar。Controls(col)。Caption  

20、                        Next col  

21、                        Row = Row + 1  

22、                  End If  

23、              Next cbar  

24、              Cells。EntireColumn。AutoFit  

25、        End Sub  

26 、         

27、        列出单元格右键菜单  

28、        Sub ListCellControls()  

29、        k = Application。mandBars(〃Cell〃)。Controls。Count  

30、        For i = 1 To k  

31、          Cells(i; 1) = i    'ID  

32、          Cells(i; 2) = Application。mandBars(〃Cell〃)。Controls(i)。Caption  

33、        Next i  

34、        End Sub  



                                                 如何删除目录及文件  



设 D:ab下有 a。。。。。z 等 5 个以上的子目录,目录下有文件,我想保留最后建立的 5 个子目录, 

其余的全部删除,。请各位帮忙,谢谢!  

解答:Dim MyPath; MyName As String  

      Dim I; J As Integer  

      Dim Fs As Object  

      Dim F  

        

      MyPath = 〃D:ab”  

      MyName = Dir(MyPath; vbDirectory)  

        

      Set Fs = CreateObject(〃Scripting。FileSystemObject〃)  

      Sheets(1)。Cells(1; 1)。CurrentRegion。Clear  

      I = 1  

      Do While MyName  〃〃  

          If MyName  〃。〃 And MyName  〃。。〃 Then  

                If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then  

                      Set F = Fs。getfolder(MyPath & MyName)  

                      Sheets(1)。Cells(I; 1) = MyName  

                      Sheets(1)。Cells(I; 2) = F。datecreated  

                      I = I + 1  

                End If  

          End If  

          MyName = Dir  



                                                                                                                   439  


…………………………………………………………Page 440……………………………………………………………

                                                         



      Loop  

      Sheets(1)。Range(〃A1:B〃 & I  1)。Sort _  

      key1:=Sheets(1)。Range(〃B1〃); _  

      order1:=xlDescending; _  

      header:=xlNo  

            For J = 6 To I  1  

          Fs。DeleteFolder (MyPath & Sheets(1)。Cells(J; 1))  

      Next J  



                             为什么我的 EXCEL 右键插入工作表功能没有了  



解答:试试以下程式码  

Sub Reset()  

mandBars(〃Ply〃)。Enabled = True  

mandBars(〃Ply〃)。Reset  

End Sub  



                                     如何使某一个固定的菜单项无效  



例:要使  文件…》另存为  命令无效如何写?  

解答:  

  Dim i As Integer  

      For i = 1 To Application。mandBars(〃File〃)。Controls。Count  

      If Application。mandBars(〃File〃)。Controls(i)。Caption = 〃另存为(&A)。。。〃 Then  

        Application。mandBars(〃File〃)。Controls(i)。Enabled = False  

      End If  

      Next i  

又问:如果是不同版本呢,比如说是中文版和英文版,哪怎样才能通用呢?  

解答:改成  Application。mandBars(〃File〃)。Controls(5)。Enabled = False 。中文版和英文版 

通用。  



                                  如何将菜单内的名字改回默认的名字  



Reset。  

mandBars(〃My_tool_bar〃)。Controls(1)。Reset  



                     VBA 中自制的弹出式快捷菜单上能用上我任意指定的图标吗  



解答:Sub CreateCmdBar()  

    Dim objBar As mandBar  

    Dim objctr As mandBarControl  

    'Begin insert ico  

    On Error Resume Next  

    Application。mandBars(〃ico〃)。Delete  

    On Error GoTo 0  

    ThisWorkbook。Sheets(〃Sheet1〃)。Shapes(〃pic〃)。Copy  

    Set objBar = Application。mandBars。Add(〃ico〃; msoBarFloating; False; False)  



                                                                                                     440  


…………………………………………………………Page 441……………………………………………………………

                                                     



    Set objctr = objBar。Controls。Add  

              With objctr  

                。PasteFace      '将图形 Copy 至按钮上  

                。Enabled = True  

              End With  

    objBar。Visible = True  

End Sub  



                         如何将自定义的组合下拉列表框加入自定义工具栏  



Sub wswx()  

      Dim i As mandBar; j As mandBarboBox  

      Set i = Application。mandBars。Add(〃wswx〃; ; ; True)  

      i。Visible = True  

      Set j = i。Controls。Add(msoControlboBox)  

      With j  

          。AddItem 〃First Item〃; 1  

          。AddItem 〃Second Item〃; 2  

      End With  

End Sub  



                         如何真正隐藏多余的行和列(只有有用的部分显示)  



用  SHIFT  +  CTRL  +方向箭头,就可以选定区域,再隐藏就达到那种效果了。  



                                EXCEL2K 输入公式只显示公式怎么办  



把工具——选项——视图中“公式”前的勾去掉,格式改常规,鼠标定位到公式单元格并按 

F2 ,回车。  



                                          关于日期的计算  



各位高手:我在统计今年 1                   月份里有多少个星期二,  用以下公式可以算出是 4                                   天, 

{=SUM((WEEKDAY(DATE(2003;1;ROW(INDIRECT(〃1:31〃))))=3)*1)}=4,但用以下公式统计 1 

月 份 里 的 第  5         周 共 有 多 少 天 就 不 能 返 回 值 了 , 请 问 是 为 什 么 呢 ? , 

{=SUM((WEEKNUM(DATE(2003;1;ROW(INDIRECT(〃1:31〃))))=5)*1)}=#value !  

解答:weeknum  不能用于数组公式。想解决此问题,可以用常量数组公式,如求 2003  年 11 

月      的      第        4      周      有      多      

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

你可能喜欢的