VBA常用技巧2

          1. UserForm的初期設定
              最簡單的方法:
                  UserForm1.Show
              想要初期化Form里的值,可以:
                  Sub Macro1()
                      Load UserForm1
                      With UserForm1
                          .TextBox1.Value = ActiveCell.Value
                          .TextBox1.SetFocus
                          .Show
                      End With
                  End Sub
              也可以用Initialize事件:
                  Private Sub UserForm_Initialize()
                      TextBox1.Value = ActiveCell.Value
                      TextBox1.SetFocus
                  End Sub

          2. Range對象的引用
              有時候想要用名稱作為參數傳遞給Range對象,怎么做呢?
              在工作表里用鼠標選擇一個范圍,然后在左上角的“Name Box”里輸入名稱,這樣就給這個范圍里所有的單元格賦予了名稱,以后就可以用Range("名稱")引用這個范圍了。來看個例子:
              Dim No As Variant
              Dim rcd As Range
              No = ComboBox1.Value
              '尋找“編號”范圍里是No的Range對象
              Set rcd = Range("編號").Find(What:=No, LookAt:=xlWhole)
              
              If No = "新規" Then
                  '插入一空行
                  rcd.EntireRow.Insert
                  '取得空行前一行的Range對象
                  Set rcd = rcd.Offset(-1)
                  rcd.Value = rcd.Offset(-1).Value + 1
              End If

          3. 日期,時刻函數

          文字列

          時間間隔

          yyyy
          q
          m
          y 年間通算日
          d
          w 周日
          ww
          h 小時
          n
          s

          DateDiff(interval, date1, date2, firstdayofweek, firstweekofyear)函數:
          計算date1和date2之間的間隔,按照interval指定的單位返回函數。
          date1,date2可以是日期值或者字符串;后面兩個參數可以省略,如果省略,則前者是星期日,后者是1月1日所在的那一周。
          例如,要計算從現在到明年還剩下多少天,多少時間:
              Dim nYear as Long
              Dim nDays as Long
              Dim nHours as Long
              nYear = DateSerial(Year(Now) + 1, 1, 1)
              nDays = DateDiff("d", Now, nYear)
              nHours = DateDiff("h", Now, nYear)
              MsgBox "There are " & nDays & " days from now to the next year." & vbCr & "and there are " & nHours & " hours left."
          另外,如果想要在字符串中直接使用日期的話,需要在其前后加上“#”。比如,TimeValue("12:34:56 AM") -> TimeValue("#12:34:56 AM#")

          4. 其他函數
          Filter(sourcearray, match, include, compare)
          -用于從sourcearray數組里篩選出與match指定文字相符的要素,返回新的數組;如果include=False,則不包含match指定的字符。

          Split(expression, delimiter, limit, compare)
          -按照delimiter分割expression;limit指定分割要素數。

          Join(sourcearray, delimiter)
          -按照delimiter合成sourcearray里的各要素。

          5. 自定義函數
          ParamArray的用法:
              Function AllJoin(delim as String, ParamArray SourceStrings())
                  AllJoin = Join(SourceStrings, delim)
              End Function

              Sub Test()
                  MsgBox AllJoin(",", "English", "Math", "Physics", "Computer", "Music")
              End Sub

          posted on 2009-03-07 09:17 koradji 閱讀(479) 評論(0)  編輯  收藏 所屬分類: Excel VBA


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2009年3月>
          22232425262728
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導航

          統計

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          db2

          dos

          Groovy

          Hibernate

          java

          WAS

          web application

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 娱乐| 台南市| 霸州市| 马山县| 和政县| 辽中县| 河间市| 城市| 南和县| 安溪县| 龙南县| 屏山县| 九江市| 保德县| 弥渡县| 中阳县| 新源县| 上犹县| 清镇市| 太湖县| 吐鲁番市| 宜良县| 崇礼县| 兴安盟| 富阳市| 泊头市| 嘉兴市| 临泽县| 北海市| 黄龙县| 阿巴嘎旗| 安仁县| 城固县| 宜兰县| 大同县| 偏关县| 黄骅市| 潼南县| 株洲县| 建湖县| 无锡市|