[算表] EXCEL VBA 計算格數

看板Office作者 (逢甲阿法)時間10年前 (2015/06/01 09:29), 編輯推噓0(008)
留言8則, 1人參與, 最新討論串1/1
軟體:office EXCEL 版本:2013 大家好 我今天想要得到有資料的格數 要怎麼寫勒? A B C D E F 1 a b 2 c 3 如上表 我想要讓他判別出 第一行有2個儲存格有字(A1 B1 不為空值) 就在D1 E1 F1內補上輸入的3個TEXTBOX的字 我是這樣下的 Do n+1 until cells(1,n) < > "" count=n Loop cells(1,count) =textbox1.text cells(1,count+1) =textbox2.text cells(1,count+2) =textbox3.text 然後一執行 我的EXCEL就停止回應了... 請問哪邊的邏輯錯了嗎?? 還是有更好的寫法? -- 不是說好不開燈嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.139.34.177 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1433122196.A.7DD.html

06/01 09:34, , 1F
do..loop的語法錯誤
06/01 09:34, 1F

06/01 09:37, , 2F
do後面的n+1,看起來原po是要累加,如果是的話寫在迴圈內
06/01 09:37, 2F

06/01 09:38, , 3F
也因n如果小於1時cells(1,n)會有錯誤,也請在do上面先初始
06/01 09:38, 3F

06/01 09:38, , 4F
n的值為1
06/01 09:38, 4F

06/01 09:39, , 5F
當然如果要判斷a1,b1不為空值的話,也可以用
06/01 09:39, 5F

06/01 09:40, , 6F
worksheetfunction.counta的方式來計數
06/01 09:40, 6F

06/01 09:40, , 7F
再配合if就可不用寫迴圈
06/01 09:40, 7F

06/01 09:42, , 8F
另外vba的累加寫法為n=n+1
06/01 09:42, 8F
文章代碼(AID): #1LQxMKVT (Office)
文章代碼(AID): #1LQxMKVT (Office)