vba中,20个if判断,无法连续执行 为什么if判断不执行

vba \u8fde\u7eed\u6267\u884c\u95ee\u9898\u3002

1,\u4e2d\u65ad\u540e\u70b9\u51fb""\u8c03\u8bd5""
\u5728VBE\u4e2d\uff0c\u6309Ctrl+Pause\uff0c\u7136\u540e\u5728\u201c\u8fd0\u884c\u201d,\u4e00\u822c\u60c5\u51b5\u90fd\u53ef\u4ee5\u89e3\u51b3\u4e86.
\u786e\u5b9e\u662f\u83ab\u540d\u5176\u5999.\u8bdd\u8bf4\u6211\u662f\u57282003\u5347\u7ea7\u52302007\u65f6\u78b0\u5230\u8fd9\u95ee\u9898\u7684..

2, \u5982\u679c\u4e0d\u884c\u518d\u8bd5\u8bd5.
VBE-\u5de5\u5177-\u9009\u9879-\u901a\u7528 -\u9009\u62e9\u3010\u9047\u5230\u672a\u5904\u7406\u7684\u9519\u8bef\u65f6\u4e2d\u65ad\u3011
\u4e0d\u8fc7,\u8fd9\u4e2a\u4f30\u8ba1\u6ca1\u7528.

\u628a\u5224\u65ad\u6761\u4ef6\u8f93\u51fa\u5230\u53d8\u91cf\uff0c\u67e5\u770b\u4e00\u4e0b\u53d8\u91cf\u7684\u503c\u3002\u3002\u3002

如果文本框是工作表中的控件,且文本框名称如题,
可参考:
'***************************************************************
Dim i As Integer
For i = 1 To 20
If Me.OLEObjects("TextBox" & i).Object.Text = Sheet1.Cells(a, 1) Then
a = a + 1
b = b + 1
Else
Exit For
End If
Next
'****************************************************************

如文本框是窗体控件,将上述代码中Me.OLEObjects("TextBox" & i).Object.Text替换成Me.Controls("TextBox" & i).Text

遍历控件的方法还有很多,在此不累述。

服了,还真没见过搞20个文本框上去的。还没见过嵌套这么多if的,既然写都写了,教你改下吧。
把if全变成平行并列的就可以了:
If TextBox1.Text = Sheet1.Cells(a, 1) Then
a = a + 1
b = b + 1
end if

If TextBox2.Text = Sheet1.Cells(a, 1) Then
a = a + 1
b = b + 1
end if

...

If TextBox20.Text = Sheet1.Cells(a, 1) Then
a = a + 1
b = b + 1
end if

楼主讲点职业素质哦,先到先得!呵呵,搞定。

If TextBox1.Text = Sheet1.Cells(a, 1) Then
a = a + 1
b = b + 1
end if
If TextBox2.Text = Sheet1.Cells(a, 1) Then
a = a + 1
b = b + 1
end if
If TextBox3.Text = Sheet1.Cells(a, 1) Then
a = a + 1
b = b + 1
end if
........
.......

真服了你,20还不用个textbox控件数组,判断起来也省事啊
for i=0 to 19
If TextBox1(i).Text = Sheet1.Cells(a, 1) Then
a = a + 1
b = b + 1
end if
next i

支持 ybcxj2008的做法,vba好像不支持控件数组。

楼主你非常牛X,鉴定完毕,楼上方法都是对的

  • vba涓,20涓猧f鍒ゆ柇,鏃犳硶杩炵画鎵ц
    绛旓細鍙弬鑰冿細'Dim i As Integer For i = 1 To 20 If Me.OLEObjects("TextBox" & i).Object.Text = Sheet1.Cells(a, 1) Then a = a + 1 b = b + 1 Else Exit For End If Next '濡傛枃鏈鏄獥浣撴帶浠讹紝灏嗕笂杩颁唬鐮佷腑Me.OLEObjects("TextBox" & i).Object.Text鏇挎崲鎴怣e.Controls("T...
  • excelvbaif鍒ゆ柇璇彞鐨勪娇鐢ㄦ柟娉曞湪鏈鍚庝互涓涓疄渚嬫潵鍓栨瀽vbaif璇彞鐨勫叿 ...
    绛旓細vba if璇彞涓鍒ゆ柇璇彞銆傛牴鎹潯浠剁殑鍊硷紝鍙娇鐢 If...Then...Else 璇彞杩愯鎸囧畾鐨勮鍙ユ垨涓涓鍙ュ潡銆侷f...Then...Else 璇彞鍙牴鎹渶瑕佸祵濂楀绾с備絾鏄紝涓轰簡浠g爜鐨勫彲璇绘э紝寤鸿浣跨敤鍏朵綑鐨勮鍙ワ紝姣斿 Select Case 璇彞鑰屼笉浣跨敤澶氬眰宓屽鐨vba涓鐨 If...Then...Else 璇彞銆倂ba if璇彞鐢ㄦ硶瑙i噴锛氬綋鏉′欢...
  • Excel 鍏充簬VBA涓璉F澶氭潯浠惰鍙ョ殑鐢ㄦ硶,铏氬績姹傛暀
    绛旓細1銆乮f璇彞鐨勫惈涔夛細if璇彞瀛楅潰鎰忔濆氨鏄鏋滅殑鎰忔濓紝濡傛灉鏉′欢涓虹湡锛岄偅涔堝氨鎵цif璇彞閲岄潰鐨勭▼搴忥紝杩欎釜绋嬪簭锛屼竴鑸寚then鍚庨潰鐨勶紝涓涓猧f璇彞鍙互娌℃湁end if锛屼絾缁濆涓嶈兘娌℃湁then锛岃繖涓鐐规槸瑕佹敞鎰忕殑銆2銆乮f鈥︹hen鈥︹︾粨鏋 璇ョ粨鏋勪竴鑸敤浜庢瘮杈冪畝鍗曠殑鍒ゆ柇璇彞鎵ц锛屼笅闈互涓娈靛疄渚嬬▼搴忔潵璁茶В銆傚疄渚嬶細濡傛灉绗...
  • Outlook涓敤vba涓嬭浇闄勪欢if鍒ゆ柇涓嶈捣浣滅敤,姹傝В!
    绛旓細杩欎釜寰堢畝鍗,涓嶇敤excel VBA, 鐢╫utlook VBA,缂栧啓浠g爜鑾峰彇鏌愪釜鏂囦欢澶归噷闈㈢殑閭欢瀵硅薄,鐒跺悗鑾峰彇鐩稿叧淇℃伅,涔嬪悗鐢╟reateobject鍒涘缓excel瀹炰緥,娣诲姞鏂皊heet,鎶婂緱鍒扮殑閭欢淇℃伅鍐欏叆,ok
  • excelVBA鍒ゆ柇璇彞
    绛旓細鏈枃鏁欎綘濡備綍浣跨敤VBA鍒ゆ柇璇彞銆1锛If鈥hen鈥lse璇彞 If condition Then [statements][Else elsestatements]濡1锛欼f A>B And C<D Then A=B+2 Else A=C+2 濡2锛欼f x>250 Then x=x-100 鎴栬咃紝鍙互浣跨敤鍧楀舰寮忕殑璇硶锛欼f condition Then [statements][ElseIf condition-n Then [elseif...
  • VBA涓鐢IF鍒ゆ柇鍑犱釜鐩稿悓鏁板,缁撴灉鏄剧ず涓嶅悓
    绛旓細鏁版嵁绫诲瀷鐨勫師鍥狅紝浣犳病鏈夊畾涔夌被鍨嬶紝a銆乧娌℃湁杩愮畻锛岄粯璁ゆ槸Range瀵硅薄锛宐鏄繍绠楃粨鏋滐紝鏄暟鍊兼牸寮忥紝绫诲瀷涓嶅悓瀵艰嚧姣旇緝澶辫触銆傛坊鍔犱竴鍙ワ細Dim a As Single, b As Single, c As Single 杩涜姣旇緝灏变笉浼氬嚭閿欎簡銆
  • vba涓鐨if璇彞鍒ゆ柇涓や釜瀛楃涓茬浉绛夋绘槸鍒ゆ柇涓嶅銆傛垜闇瑕佹妸sheet1鐨勪竴...
    绛旓細骞茶剢鎴戦噸鏂扮粰浣犲啓涓惂銆侾rivate Sub CommandButton1_Click()If Sheet1.Range("C3").Value = "" Then MsgBox "Sheet1鐨凜3涓嶈兘涓虹┖", 16 Else Dim rg As Range, Sear As Long Set rg = Range("A1:A97").Find(Sheet1.Range("C3").Value, Range("A97"), , xlWhole)If Not rg Is ...
  • EXCEL 鎬庝箞鐢vba鎴栬呭畯 瀹炵幇IF璇彞鐨勫灞傚惊鐜(20灞)
    绛旓細+ CStr(i))temp = Empty Select Case gk Case "SHANGHAI"temp = "SH01"Case "QINGDAO"temp = "QD7 "End Select Range("D" + CStr(i)) = temp Next End Sub 涓棿鑷繁琛ュ厖 闂琛ュ厖锛氭庝箞鎵归噺浣跨敤瀹忓憿锛熸瘡涓枃浠堕兘瑕佽繖涔堝鐞嗙殑 鎶婁唬鐮佹墍鍦ㄧ殑宸ヤ綔钖勬墦寮,鍐嶆墦寮寰呭鐞嗙殑鏂囦欢,杩愯瀹忓嵆鍙,...
  • EXCEL VBA 澶氫釜If鍒ゆ柇璇彞绠鍖栫殑闂
    绛旓細寤鸿鏀圭敤ComboBox鎺т欢浠f浛TextBox鎺т欢锛屽皢ComboBox鎺т欢鐨凴owSource灞炴ч摼鎺ュ埌J2:J30锛岃繖鏍风殑璇濓紝鐢ㄦ埛涓嶇敤鎵嬪伐杈撳叆濮撳悕浜嗭紝鍙鍦ㄤ笅鎷夊垪琛ㄤ腑閫夋嫨灏辫浜嗐傚綋鐢ㄦ埛閫夋嫨浜咰omboBox涓殑濮撳悕浠ュ悗锛屽皢瑙﹀彂ComboBox_Change浜嬩欢锛屽彲灏嗗師鏉ラ渶瑕佹牴鎹鍚嶈繘琛岀殑澶勭悊浠g爜鏀剧疆鍦ㄨ繖涓簨浠惰繃绋嬩腑銆
  • VBA涓涓狪F浣滀负鏀鹃敊鍒ゆ柇,浣嗘槸鍒ゆ柇涓鐩村嚭閿!
    绛旓細If Sheet2.Range("L13").Value=0 then 杩欓噷鐨勨淪heet2鈥濓紝涓嶆槸宸ヤ綔琛ㄧ殑鏍囩鍚嶇О锛岃屾槸Excel鍐呴儴鐨勫伐浣滆〃ID銆備笂鍥句腑锛屾嫭鍙烽噷鐨勬槸宸ヤ綔琛ㄧ殑鏍囩鍚嶇О銆傛嫭鍙峰墠闈㈢殑锛屾槸宸ヤ綔琛↖D銆
  • 扩展阅读:vba编程必背50个程序 ... vba里满足if多条件 ... vba do until ... vb中if的三种写法 ... vlookup if多条件查询 ... if大于小于双条件 ... vba if函数的使用方法 ... vba for循环嵌套 ... vba if else多层 嵌套 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网