VBA常用技巧1

          在項(xiàng)目測(cè)試階段,經(jīng)常會(huì)要使用vba做些小工具,方便測(cè)試數(shù)據(jù)的導(dǎo)入導(dǎo)出。
          下面是一些編寫程序時(shí)使用的小技巧:
          1. 用循環(huán)往sheet里寫入多行數(shù)據(jù)
              With Cells(Rows.Count, 1).End(xlUp).Offset(1)
                  .Value = 要寫入的值
                  .Resize(, 3).Borders.LineStyle = xlContinuous
              End With
          第一句是取第一列的行數(shù)(Excel2003是65536行),從下往上直到有輸入的那行,再取其下一行,便得到了第一個(gè)未輸入行的單元格。
          另外一種方法:
              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. 第一列已有多行輸入,現(xiàn)在要在后面相應(yīng)的幾列中寫入數(shù)據(jù)
              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
          第一句取得第一列所有輸入的行范圍;
          假定從第二行開始寫入數(shù)據(jù);
          假定第一列里放的是文件名,With用Workbooks打開每個(gè)文件,然后往相應(yīng)的第二列和第三列里寫入數(shù)據(jù),最后關(guān)閉打開的文件(不保存)。

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

          4. 用ADO讀取外部文件里的數(shù)據(jù)
              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
              .....讀入數(shù)據(jù)處理
              oRS.Close
              oConn.Close
          使用這種方法讀取如csv這樣的文本文件,速度很快。但是,需要注意的是讀入的數(shù)據(jù)可能會(huì)改變?cè)瓉?lái)的格式。
          比如,原來(lái)的格式是+00000000.001,讀進(jìn)來(lái)的數(shù)據(jù)可能會(huì)變成1。

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

          評(píng)論

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

          學(xué)習(xí)啦!謝謝!  回復(fù)  更多評(píng)論   


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
          相關(guān)文章:
           
          <2009年2月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          1234567

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          db2

          dos

          Groovy

          Hibernate

          java

          WAS

          web application

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 塔城市| 绥芬河市| 棋牌| 庆云县| 蒙山县| 栖霞市| 汉沽区| 亚东县| 海口市| 万年县| 刚察县| 晋城| 潼南县| 甘谷县| 商水县| 泽库县| 彭州市| 郧西县| 雷州市| 孟津县| 建瓯市| 襄城县| 五大连池市| 翁源县| 鸡西市| 英山县| 容城县| 格尔木市| 普定县| 怀化市| 靖江市| 炎陵县| 抚远县| 敦煌市| 修武县| 湄潭县| 马公市| 菏泽市| 株洲县| 贡嘎县| 张家口市|