VBA計算資料數的方法有函數嘛??? EX:有m筆資料(此例為5筆) 分別為 A B C 1 25 36 81 2 35 26 64 3 85 64 95 4 35 54 84 5 87 98 48 Dim i as single i=1 do until cells(i,1)="" i=i+1 loop m=i-1 執行完.........m=5 可是只是計算資料'列數'就要用這個寫........ 是不是有函數可以直接用......... 還請高手們指導..........:confused: :confused: |
用ROWS()函數呀 在括號裡輸入你要計算的範圍,如:A1:A5 就會傳回5呀... 不用用到VBA啦... |
[QUOTE][i]最初由 Oyazi 發表[/i] [B]用ROWS()函數呀 在括號裡輸入你要計算的範圍,如:A1:A5 就會傳回5呀... 不用用到VBA啦... [/B][/QUOTE] 先謝謝您的回應........... 可素我有100多個檔案勒......... 所以用VBA寫來整理檔案比較快......... 要計算資料有m筆.....只是程式中的一部份 ex: for i=1 to m ..... next i m就是我的資料數,假如我要用A1:A5的方式, 那就直接寫成 for i=1 to 5就好囉....因為已經看到A1:A5, 自然知道有5筆資料囉....... 小弟只是想說有沒有函數可以簡化, 免得還要寫幾行程式來計算...... 如果沒有,那還是用這幾行程式代表囉........ 請高手大大們指導一下...... 感激感激......... |
如果資料是從第一列開始,而且有資料的列與列間沒有空白列,那麼 [Color=Red]ActiveSheet.UsedRange.Rows.Count[/Color] 可以計算出含有資料的列數。 |
[QUOTE][i]最初由 ICLA 發表[/i] [B]如果資料是從第一列開始,而且有資料的列與列間沒有空白列,那麼 [Color=Red]ActiveSheet.UsedRange.Rows.Count[/Color] 可以計算出含有資料的列數。 [/B][/QUOTE] 我實際TRY了一下,發現中間有列的空白還是能算出耶,會 卡空白列的好像是CurrentRegion |
[QUOTE][i]最初由 cinta3344 發表[/i] [B] 我實際TRY了一下,發現中間有列的空白還是能算出耶,會 卡空白列的好像是CurrentRegion [/B][/QUOTE] 偶也有試過,可是................. 全部共有r筆資料......... 當每列的第一欄資料從缺,第2欄到第n欄有資料..... 共有m列這種資料....... 所以共有有效資料m-r筆資料............. 可素用上述的方法.......... 依然還是有r筆,而非m-r筆資料喔........... 請高手賜教............. |
何不試試用 COUNTA 或 DCOUNTA 函數? 看要以哪個欄位為準, 就可算出非空白的筆數了. 在程式中使用工作表函數, 記得用WordsheetFunction. 例如 a = WordsheetFunction.Counta(Columns(1)) |
[QUOTE][i]最初由 Leon Chou 發表[/i] [B]何不試試用 COUNTA 或 DCOUNTA 函數? 看要以哪個欄位為準, 就可算出非空白的筆數了. 在程式中使用工作表函數, 記得用WordsheetFunction. 例如 a = WordsheetFunction.Counta(Columns(1)) [/B][/QUOTE] 每次看周前輩的REPLY都能有新的感動,雖然我不是有問題的那個人 但還是能學到不少技巧,感恩啊~~~:p |
我應該謝謝你:) 因為我回來再看一次才發現自己打錯字了-_-|| [color=blue]<strike> WordsheetFunction </strike>[/color] ← 這個不對 [color=red] WorksheetFunction [/color] ← 這個才對 |
[QUOTE][i]最初由 foxcat99 發表[/i] [B] 偶也有試過,可是................. 全部共有r筆資料......... 當每列的第一欄資料從缺,第2欄到第n欄有資料..... 共有m列這種資料....... 所以共有有效資料m-r筆資料............. 可素用上述的方法.......... 依然還是有r筆,而非m-r筆資料喔........... 請高手賜教............. [/B][/QUOTE] TRY THIS : DIM ROWCNT AS LONG ROWCNT=RANGE("A1").CurrentRegion.Rows.Count 前提是你要先讓游標進到有資料的區塊,CELLS(X,X).SELECT之類的 否則選到空的BLOCK會傳回1,另外不能有空白列隔開 |
所有時間均為 +8。現在的時間是 07:14 PM。 |
XML | RSS 2.0 | RSS |
本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。