PCZONE 討論區

PCZONE 討論區 (https://www.pczone.com.tw/vbb3/)
-   -- OFFICE 相 關 軟 體 討 論 版 (https://www.pczone.com.tw/vbb3/forum/5/)
-   -   VBA計算資料數的方法有函數嘛??? (https://www.pczone.com.tw/vbb3/thread/5/41447/)

foxcat99 2002-04-19 06:19 PM

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:

Oyazi 2002-04-19 06:38 PM

用ROWS()函數呀
在括號裡輸入你要計算的範圍,如:A1:A5
就會傳回5呀...
不用用到VBA啦...

foxcat99 2002-04-19 11:17 PM

[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筆資料囉.......
小弟只是想說有沒有函數可以簡化,
免得還要寫幾行程式來計算......
如果沒有,那還是用這幾行程式代表囉........
請高手大大們指導一下......
感激感激.........

ICLA 2002-04-19 11:35 PM

如果資料是從第一列開始,而且有資料的列與列間沒有空白列,那麼 [Color=Red]ActiveSheet.UsedRange.Rows.Count[/Color] 可以計算出含有資料的列數。

cinta3344 2002-04-27 02:43 PM

[QUOTE][i]最初由 ICLA 發表[/i]
[B]如果資料是從第一列開始,而且有資料的列與列間沒有空白列,那麼 [Color=Red]ActiveSheet.UsedRange.Rows.Count[/Color] 可以計算出含有資料的列數。 [/B][/QUOTE]

我實際TRY了一下,發現中間有列的空白還是能算出耶,會
卡空白列的好像是CurrentRegion

foxcat99 2002-04-27 05:12 PM

[QUOTE][i]最初由 cinta3344 發表[/i]
[B]

我實際TRY了一下,發現中間有列的空白還是能算出耶,會
卡空白列的好像是CurrentRegion [/B][/QUOTE]

偶也有試過,可是.................
全部共有r筆資料.........
當每列的第一欄資料從缺,第2欄到第n欄有資料.....
共有m列這種資料.......
所以共有有效資料m-r筆資料.............
可素用上述的方法..........
依然還是有r筆,而非m-r筆資料喔...........
請高手賜教.............

leonchou 2002-04-27 07:54 PM

何不試試用 COUNTA 或 DCOUNTA 函數?
看要以哪個欄位為準, 就可算出非空白的筆數了.
在程式中使用工作表函數, 記得用WordsheetFunction.
例如 a = WordsheetFunction.Counta(Columns(1))

cinta3344 2002-04-29 09:44 AM

[QUOTE][i]最初由 Leon Chou 發表[/i]
[B]何不試試用 COUNTA 或 DCOUNTA 函數?
看要以哪個欄位為準, 就可算出非空白的筆數了.
在程式中使用工作表函數, 記得用WordsheetFunction.
例如 a = WordsheetFunction.Counta(Columns(1)) [/B][/QUOTE]

每次看周前輩的REPLY都能有新的感動,雖然我不是有問題的那個人
但還是能學到不少技巧,感恩啊~~~:p

leonchou 2002-04-29 01:36 PM

我應該謝謝你:) 因為我回來再看一次才發現自己打錯字了-_-||
[color=blue]<strike> WordsheetFunction </strike>[/color] ← 這個不對
[color=red] WorksheetFunction [/color] ← 這個才對

cinta3344 2002-04-29 11:17 PM

[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 
本站使用 vBulletin 合法版權程式
站務信箱 : [email protected]

本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。