友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!
第三电子书 返回本书目录 加入书签 我的书架 我的书签 TXT全本下载 『收藏到我的浏览器』

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

快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部! 如果本书没有阅读完,想下次继续接着阅读,可使用上方 "收藏到我的浏览器" 功能 和 "加入书签" 功能!

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      周      有      多      少      天       ,      公      式      为      :  

=SUM((MONTH(DATE(2003;11;1)…WEEKDAY(DATE(2003;11;1))+{1;2;3;4;5;6;7}+7*(4…1))=11) 

*1)  

可直接回车输入。  

(公式解释:DATE(2003;11;1)…WEEKDAY(DATE(2003;11;1))是求指定月份 1 日所在星期的上一 

个周末(星期六)的日期系列数,+{1;2;3;4;5;6;7}+7*(n…1))后就变为指定月份 1  日起(包含 1 

日的周数)第n 周的 7 天的日期系列数数组,再用 month 函数判别是否是指定的月份,sum 函 

数求总和,即指定月份指定第 n 周的天数。)  



                                                                                              441  


…………………………………………………………Page 442……………………………………………………………

                                                  



                          在 EXCEL 中如何用公式编制一个乘数口诀表  



     我想问问编写乘数口诀表使用的那个公式在 excel 里是怎么写的,我想把它用在我的工 

作表里。  



     具体地说,要求在 excel 工作表中,每个竖排中表格 b2=b1*a2;  b3=b1*a3;  b4=b1* 

a4。。。。。。依此类推,共有 255 个 columns。  每个横排中,b2=b1*a2;  c2=c1*a2;  d2=d1 

*a2。。。。。。也是依此类推,共有 255 行。  



     我现在能做到的最不笨的一种方式也要写 255 条公式。我想应该有一种公式的写法是能 

够设定公式的第一项不变,第二项相应格子的号码改变。那么我可以写几个甚至是一个公式 

就可以直接复制了。  



     解答:b2=b1*a2,再向下拖。=B1*A2 向右拖。  



                            如何让 Excel 程序使用自定义的帮助文档  



解答:  

Option Explicit  

Public Const SW_SHOWNORMAL =  1  

Public Declare Function ShellExecute Lib 〃shell32。dll〃 Alias 〃ShellExecuteA〃 _  

    (ByVal hwnd As Long; ByVal lpOperation As String; ByVal lpFile As String; _  

    ByVal lpParameters As String; ByVal lpDirectory As String; ByVal nShowCmd As Long) As Long  

sub dd()  

ShellExecute 0; 〃Open〃; ThisWorkbook。Path & 〃帮助文件。chm〃; 〃〃; 〃〃; SW_SHOWNORMAL  

end sub  



                                  如何设定文本框的输入属性  



我在excel 中放置了一个文本框〃textbox〃,如何设定该文本框的属性只能是数值,例如设定excel 

单元格为货币一样。  

解答 1:  

Private Sub textbox_KeyPress(ByVal KeyAscii As MSForms。ReturnInteger)  

    If KeyAscii 《 48 Or KeyAscii 》 57 Then  

        MsgBox 〃必须输入数字〃; vbExclamation; 〃Warning!〃  

        SendKeys (〃{backspace}〃)  

    End If  

End Sub  

这是我程序中的例子  

解答 2 :能在 CHANG 事件中用 isnumeric()函数判断是否是数值,在 exit 事件中用 format()函 

数将数值转换成货币格式。  



                                                                                        442  


…………………………………………………………Page 443……………………………………………………………

                                                                    



                                            一个处理文本排序的自定义函数  



下面是一个处理文本排序的自定义函数(数组),红字部分本人不太明白,为什么要用 Trans 

pose 转换?请高手指点。  

Function SORTED(rng; Optional ascending) As Variant  

    Dim SortedData() As Variant  

    Dim CellCount As Long  

    Dim Temp As Variant;  i As Long; j As Long  

    CellCount = rng。Count  

    ReDim SortedData(1 To CellCount)  

      

     If  IsMissing(ascending) Then ascending = True  

     If rng。Columns。Count 》  1 Then  

        SORTED = CVErr(xlErrvalue)  

        Exit Function  

    End  If  

    For  i =  1 To CellCount  

        SortedData(i) = rng(i)  

         If TypeName(SortedData(i)) = 〃Empty〃 Then SortedData(i) = 〃〃  

    Next  i  

    On Error Resume Next  

    For  i =  1 To CellCount  

        For j =  i +  1 To CellCount  

             If SortedData(j)  〃〃 Then  

                 If ascending Then  

                     If SortedData(i) 》 SortedData(j) Then  

                        Temp = SortedData(j)  

                        SortedData(j) = SortedData(i)  

                        SortedData(i) = Temp  

                    End  If  

                Else  

                     If SortedData(i) 《 SortedData(j) Then  

                        Temp = SortedData(j)  

                        SortedData(j) = SortedData(i)  

                        SortedData(i) = Temp  

                    End  If  

                End  If  

            End  If  

        Next j  

    Next  i  

      

    SORTED = Application。Transpose(SortedData)  

End Function   

解答:数组分为两种:   



                                                                                                                          443  


…………………………………………………………Page 444……………………………………………………………

                                               



1  、横数组 用单元格比喻是 A1: D1  (其实单元格就可理解成数组)  

2  、竖数组 用单元格比喻是 A1: A4  



在过程中形成的数组都为横数组 如 SortedData   



Transpose  函数能将 横数组 转为 竖数组;竖数组 转为 横数组  



SORTED  函数返回的都是竖数组,这样就可把数据方便的放入一列内或  listbox bobox 等内  



只是个人理解
返回目录 上一页 下一页 回到顶部 0 1
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!