Re: [VBA ] 如何自动检查字段是否为空

楼主: hulapig (呼拉猪)   2015-01-29 07:25:27
※ 引述《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

Links booklink

Contact Us: admin [ a t ] ucptt.com