作者su198932 (秋ㄟ)
看板Office
標題[問題] VBA函數運算問題
時間Tue Nov 5 19:33:29 2019
(若是和其他不同軟體互動之問題 請記得一併填寫)
軟體:Excel
版本:2010
用巨集寫基本運算函數,但是因為每次擷取的資料庫筆數不同,而用錄製方式擷取到的程
式寫法筆數會變成固定的...
有辦法知道最後一筆的筆數,並將全部筆數執行函數運算嘛
懇請各位大大解答QQ
https://i.imgur.com/vTCv6Zx.jpg
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.47.178.197 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Office/M.1572953611.A.F30.html
1F:→ soyoso: 是指最後一筆有資料的列號嗎?如果是的話 11/05 19:39
2F:→ soyoso: range.end(..).row或range.find.row,如果資料連續的話 11/05 19:40
3F:→ soyoso: 工作表函數count或counta 11/05 19:40
4F:→ su198932: 就是我想要一列進行資料運算,但是每次的資料筆數不一定 11/05 20:36
5F:→ su198932: ~ 11/05 20:36
6F:→ su198932: 如文內A2:A9999, 但是A9999應該是不定值(最後一筆資料) 11/05 20:36
7F:→ su198932: ,卡關,不知道巨集該怎麼撰寫QQ 11/05 20:36
8F:→ soyoso: 就以回文方式來取得最後一筆有值的列號 11/05 20:46
9F:→ soyoso: 看是否寫入變數,變數的話就同上列所寫的 "..:a" & 變數 11/05 20:48
10F:→ su198932: 感謝S大~我再試試看~抱歉EXCEL尚很少用,很薄弱。 11/05 21:04
11F:推 a29976137: i=range("a1").end(xldown).row 11/05 21:40
12F:→ a29976137: range("a2:a" & r) 11/05 21:41
13F:→ soyoso: 不正確,要寫入變數i,那怎麼"a2:a" & r 卻用r 11/05 21:56
14F:→ soyoso: 所舉的例也要連結上也要用變數i 11/05 21:58
15F:→ soyoso: 且不確定資料是否連續,也不要回文上就是用xldown的方式 11/05 21:58
16F:→ soyoso: 要這樣回也請假設資料是連續的情況下 11/05 21:59
17F:→ soyoso: 連續且連續資料是二個儲存格以上再使用xldown 11/05 22:01
18F:→ soyoso: 不然請用xlup方式 11/05 22:01
19F:→ paul60209: LR=Sheets("工作表1").Cell(1,"A").End(xlUp).Row 11/06 15:02
20F:→ paul60209: Range(Cells(2,"A"),Cells(LR,"A")) 11/06 15:02
21F:→ soyoso: 不正確,1.不是cell而是cells 11/06 15:33
22F:→ soyoso: 2.就算是cells(1,"A").end(xlup).row也不正確,因為a1往上 11/06 15:34
23F:→ soyoso: 不論a1本身有無資料都只會回傳1而已 11/06 15:35
24F:→ soyoso: 要取a欄不論是否連續資料的最後一筆有資料的列號 11/06 15:35
25F:→ soyoso: 以range("a1048576")或cells(1048676,1[或"A"]).end(xlup) 11/06 15:38
26F:→ soyoso: .row 11/06 15:38
27F:→ soyoso: 但有一限制就是a1048576這儲存格為空白儲存格 11/06 15:38
28F:→ soyoso: cells(1048576,...) 11/06 15:39
29F:→ soyoso: 這限制要排除的話,以range.find的方式 11/06 15:42
30F:→ su198932: 感謝S大,我的問題解決了~ 11/06 20:11