注册 登录
编程论坛 VB6论坛

VB提示loop没有DO

如果爱忘了 发布于 2017-10-10 18:03, 2453 次点击
For r = 2 To lots + 1        Application.StatusBar = "产品分大类 ---  " & lots + 1 - r        i = 1        If Cells(r, 10) <> "" Then            Cells(r, 8) = ""            Cells(r, 14) = ""        End If        you = False        Do            i = i + 1            If UCase(Mid(Cells(r, 4), 11, 7)) = "LTF1303" Then               If Cells(r, 2) = (Mid(Cells(r, 4), 11, 7) & Mid(Cells(r, 4), 23, 4)) = UCase(Workbooks(progname).Sheets("Projlist").Cells(3, 5)) Then                 Cells(r, 1) = UCase(Workbooks(progname).Sheets("Projlist").Cells(3, 6))                ElseIf Cells(r, 2) = (Mid(Cells(r, 4), 11, 7) & Mid(Cells(r, 4), 23, 4)) = UCase(Workbooks(progname).Sheets("Projlist").Cells(4, 5)) Then                       Cells(r, 1) = UCase(Workbooks(progname).Sheets("Projlist").Cells(4, 6))            Else               If UCase(Mid(Cells(r, 4), 11, 7)) = UCase(Workbooks(progname).Sheets("Projlist").Cells(i, 3)) Then                   Cells(r, 1) = Workbooks(progname).Sheets("Projlist").Cells(i, 2)                 ' Cells(r, 3) = Left(Trim(Cells(r, 3)), 9)                  you = True                 Exit Do               End If             End If                          Loop Until Workbooks(progname).Sheets("Projlist").Cells(i, 3) = ""
5 回复
#2
如果爱忘了2017-10-10 18:04
回复 楼主 如果爱忘了
求大神帮忙
#3
如果爱忘了2017-10-10 18:07
只有本站会员才能查看附件,请 登录
#4
如果爱忘了2017-10-10 18:14
只有本站会员才能查看附件,请 登录
#5
ZHRXJR2017-10-10 18:31
If Cells(r, 2) = (Mid(Cells(r, 4), 11, 7) & Mid(Cells(r, 4), 23, 4)) = UCase(Workbooks(progname).Sheets("Projlist").Cells(3, 5)) Then  没有END IF
If UCase(Mid(Cells(r, 4), 11, 7)) = UCase(Workbooks(progname).Sheets("Projlist").Cells(i, 3)) Then 也没有END IF
不是完整的代码,因此虽然你看好像有LOOP,但IF没有结束,实际程序在IF中,当然是LOOP没有DO了。
#6
xiangyue05102017-10-10 19:08
粘过来乱七八糟,真没心思帮你细看。
就是loop没有对应的DO。但是不只是查这个地方,if endif 没有配对出现,也会出现,就像版主ZHRXJR说的那样
1