請問VBS 開完EXCEL FILE 後, 點樣可以複制最後一行ROW 資料?

我有諗過用sendkeys CTRL+DOWN, 再ctrl+shift+right, copy, 不過唔多鍾意, 因為sendkeys 好容易受到其它野響

strFileName_2 = "C:\test.xls"
Set oExcel = CreateObject("Excel.Application")
oExcel.visible = true
set osheet= oExcel.Workbooks.Open(strFileName_2,,,,"123")
osheet.sheets("sheet1").activate
set oExcel = nothing
set osheet = nothing

  1. Dim OBJWS,cell_value
  2. strFileName_2 = "E:\temp\test.xlsx"
  3. Set oExcel = CreateObject("Excel.Application")
  4. oExcel.visible = true
  5. set osheet= oExcel.Workbooks.Open(strFileName_2,,,,"123")
  6. osheet.sheets("sheet1").activate
  7. SET OBJWS = OExcel.ACTIVEWORKBOOK.WORKSHEETS("Sheet1")
  8. INTROW = 1
  9. cell_value=""
  10. DO UNTIL OBJWS.CELLS(INTROW, 1).VALUE = ""
  11. cell_value=OBJWS.CELLS(INTROW, 1).VALUE
  12. INTROW=INTROW+1
  13. LOOP
  14. WSCRIPT.ECHO cell_value
複製代碼
最後 cell_value會hold住A column last value

TOP

回覆 2# jj2a3

呢位仁兄, 我幾鍾意你個方法, 因為我睇得明寫咩, 因為我個EXCEL 有合併格仔入邊, 呢個方法好得有少少問題, 我上網搵到另一個方法(是WORK的, 不過唔明個原理

lastrow=objsheet.Range("A1").CurrentRegion.Rows.Count

TOP

本帖最後由 seasonpp 於 2016-1-27 23:32 編輯

回覆 3# bongbong3481


佢呢句等如:
去A1.ctrl + a 2次.count of how many rows
以上係我對vba既理解

TOP

回覆  jj2a3

呢位仁兄, 我幾鍾意你個方法, 因為我睇得明寫咩, 因為我個EXCEL 有合併格仔入邊, 呢個方 ...
bongbong3481 發表於 2016-1-27 22:01


我工作上唔雖要用vbs, 全部都係google search的

TOP

回覆 5# jj2a3

其實我工作上都吾需要用vbs , 不過好多重複搬字過紙動作,自己比較懶,覺得有部份工作可以用電腦做左佢

TOP

回覆 4# seasonpp

請問一下, 用VBA, 如果ROW 入邊有幾行空白, 有咩方法搵到最後一行ROW 既資料位置?

TOP

本帖最後由 laputafish 於 2016-2-1 10:08 編輯

通常我用呢句:
rowNo = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row


以row (xlByRows) 方式, 在成張sheet的cells, 由底至上,右至左 (xlPrevious), 搵有野的Cell.
Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious)

再攞佢 row 就知最後有資料的row:
rowNo =  Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).row

column亦係同樣做法.

TOP

本帖最後由 seasonpp 於 2016-2-3 23:58 編輯

回覆 7# bongbong3481


FinalRow = Cells(Rows.Count, 1).End(xlUp).Row


FinalCol = Cells(1, Columns.Count).End(xlToLeft).Column

呢個方法同你上網搵到果個唔同,如果而家有data係A1:F10, 同一張worksheets 係A20:F40都有data, 你個方法會搵到10 rows, 我個方法會搵到有40 rows, 睇下你要D乜
如果一直都會加row / column, 最好用之先放佢呢句,否則會錯

TOP

標題

回覆 9# seasonpp

請問你個方法是否類似由底開始搵,搵到吾系空格就停 ?   (  我用vbs較多,   vba 某部分語法好似沒辦法 直接放入vbs ,  最後我用loop 由65536倒數去搵, 搵到吾系空格就停,我相信你個方法可能快過用loop)

TOP