Re: [VBA ] 如何自動檢查欄位是否為空

看板Visual_Basic作者 (呼拉豬)時間9年前 (2015/01/29 07:25), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
※ 引述《soracho (空)》之銘言: : ※ 引述《soracho (空)》之銘言: : : 我想在Workbook_Open或Worksheet_Activity內 : : 設定一個判斷式,如下虛擬碼 : : 請問這該如何去寫比較好,求寫法? : : 虛擬碼 : : if (某列的第1欄內不為空 OR 某列的第2欄內不為空 OR 某列的第3欄內不為空 OR 某列的第4欄內不為空) Then 換列 : : Else 傳回該列索引值 : : end if : 最後我自己下午反覆測試 : 終於做出來 : 每次開啟表單就自動搜尋本次應該從哪列開始輸入 : 寫法如下: : For rownum = 2 To 65535 : For col = 1 To 4 : If Sheets("工作表1").Cells(rownum, col) <> Empty Then TextBox1.Text = rownum Else GoTo break : Next col : Next rownum : break: TextBox1.Text = (Val(TextBox1.Text) + 1) : PS : 1.為何從第2列開始找,因為個人習慣第一列放本工作表的標題(較為醒目) : 2.用GoTo是因為不符合就中斷迴圈,但VB好像沒有break這語法,故這樣使用 : 3.TextBox1.Text是為了在元件中傳遞某個變數內的數值(因個人不知為何設置全域變數) 試試這個,可以不用跑迴圈: Dim r As Integer '列 Dim c As Integer '行 r = Cells(65536, 1).End(xlUp).Row c = Cells(r, 10).End(xlShiftToLeft).Column If c = 4 Then r = r + 1 TextBox1.Text = r -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 65.96.105.154 ※ 文章網址: https://www.ptt.cc/bbs/Visual_Basic/M.1422487531.A.CF8.html
文章代碼(AID): #1KoM_hpu (Visual_Basic)
文章代碼(AID): #1KoM_hpu (Visual_Basic)