VBA常用技巧1

          在項目測試階段,經常會要使用vba做些小工具,方便測試數據的導入導出。
          下面是一些編寫程序時使用的小技巧:
          1. 用循環往sheet里寫入多行數據
              With Cells(Rows.Count, 1).End(xlUp).Offset(1)
                  .Value = 要寫入的值
                  .Resize(, 3).Borders.LineStyle = xlContinuous
              End With
          第一句是取第一列的行數(Excel2003是65536行),從下往上直到有輸入的那行,再取其下一行,便得到了第一個未輸入行的單元格。
          另外一種方法:
              With ThisWorkbook.Sheets(1)
                  r = .Range("A1").CurrentRegion.Rows.Count + 1
                  .Cells(r, 1).Value = x
                  .Cells(r, 2).Value = y
                  .Cells(r, 3).Value = z
              End With

          2. 第一列已有多行輸入,現在要在后面相應的幾列中寫入數據
              Set LArea = Range("A1").CurrentRegion
              Application.ScreenUpdating = False
              For i = 2 to LArea.Rows.Count
                  With Workbooks.Open(LArea.Cells(i, 1).Value)
                      LArea.Cells(i, 2).Value = xxx
                      LArea.Cells(i, 3).Value = yyy
                      .Close SaveChanges:= False
                  End With
              Next i
              Application.ScreenUpdating = True
          第一句取得第一列所有輸入的行范圍;
          假定從第二行開始寫入數據;
          假定第一列里放的是文件名,With用Workbooks打開每個文件,然后往相應的第二列和第三列里寫入數據,最后關閉打開的文件(不保存)。

          3. 往Workbook里追加新的sheet
              Worksheets.Add(After:=Sheets(Sheets.Count).Name = "表名")
                  .Range("A1").Value = Worksheets(1).Rows("1:3").Value

          4. 用ADO讀取外部文件里的數據
              Set oConn = CreateObject("ADODB.CONNECTION")
              oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                                      "Data Source=" & strExportDataFolder & ";" & _
                                      "Extended Properties=""text;HDR=No;FMT=TabDelimited"""
              Set oRS = CreateObject("ADODB.RECORDSET")
              oRS.Open "Select * From " & strFileName, oConn, 3, 1, 1
              .....讀入數據處理
              oRS.Close
              oConn.Close
          使用這種方法讀取如csv這樣的文本文件,速度很快。但是,需要注意的是讀入的數據可能會改變原來的格式。
          比如,原來的格式是+00000000.001,讀進來的數據可能會變成1。

          posted on 2009-02-25 22:47 koradji 閱讀(850) 評論(1)  編輯  收藏 所屬分類: Excel VBA

          評論

          # re: VBA常用技巧1 2010-05-18 10:08 zhengjiande

          學習啦!謝謝!  回復  更多評論   


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


          網站導航:
           
          <2009年2月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          1234567

          導航

          統計

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          db2

          dos

          Groovy

          Hibernate

          java

          WAS

          web application

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 新疆| 化隆| 柘城县| 建宁县| 天等县| 英吉沙县| 图木舒克市| 济南市| 安徽省| 肇州县| 东阳市| 碌曲县| 嘉禾县| 花莲县| 陆河县| 林西县| 华宁县| 涿鹿县| 四会市| 蓝田县| 普洱| 金寨县| 京山县| 恭城| 四子王旗| 山东省| 百色市| 阳东县| 姚安县| 循化| 武乡县| 仙居县| 响水县| 修水县| 磐石市| 普兰店市| 台中市| 安乡县| 诸暨市| 连山| 丘北县|