我是小白,刚开始自学VBA,卡在这里了
vba吧
全部回复
仅看楼主
level 1
用for循环语句,赋值变量从1 to 10
如果输入错误,则提示对话框"输入错误", 再弹出一个输入对话框重新输入
现在的问题是: 这个错误信息不知道放哪了。
向我下面这样输入的话,当n=2,我在input里面输入cell(3,1)的值,他也会跳到else,提示输入错误,求大佬帮忙
If StrPtr(m) <> 0 Then
For n = 2 To t
If Cells(n, 1) = m Then
yw = Cells(n, 4)
sx = Cells(n, 6)
yy = Cells(n, 8)
zf = Cells(n, 9)
pm = Cells(n, 10)
xm = Cells(n, 2)
i = xm & " 你好" & vbCrLf & "你的排名: " & pm & vbCrLf & "你的总成绩: " & zf & vbCrLf & "语文: " & yw & vbCrLf & "数学: " & sx & vbCrLf & "英语: " & yy & vbCrLf & "总分: " & zf
MsgBox i
Exit For
Else
MsgBox "输入错误"
m = InputBox("请输入你的学号")
End If
Next
End If
2024年07月08日 02点07分 1
level 5
你的M一开始就没东西,不管你后面输入什么都肯定会跑到else
2024年07月08日 03点07分 2
m = InputBox("请输入你的学号") t = ActiveSheet.UsedRange.Rows.Count If StrPtr(m) <> 0 Then For n = 2 To t If Cells(n, 1) = m Then
2024年07月08日 03点07分
这样的,这样不对吗
2024年07月08日 03点07分
@songlinwen1128 问题是你一开始就If StrPtr(m) <> 0 Then,根本连FOR都进不去啊
2024年07月08日 05点07分
@ISD_狮子座 m是inputbox输入的值,这句话是确认是不是点了取消。
2024年07月08日 06点07分
level 6
不需要else,else里的内容放到for循环外,
上面exit for改成exit sub
2024年07月08日 07点07分 3
您好,试了一下,还是有点瑕疵,就是我输入错误了,再弹出的inputbox不会进入循环了,我输入什么,都直接关闭了
2024年07月08日 07点07分
@songlinwen1128 下面加个goto 100,100放在第一个input下面
2024年07月08日 08点07分
@an143 多谢大佬,可以了[呵呵]
2024年07月08日 08点07分
level 11
初学者逻辑流程错误,画画流程图吧。
2024年07月08日 08点07分 4
1