“case else不能在select case之外”

Flowing_Dream 2011-03-01 10:12:25
代码出现““case else不能在select case之外”问题,不知道该如何修改,请教各位~


sub clarifysb()
Dim l As Integer
Dim helpsb as String
ReDim sb(l) as string
Sheets(project).select
selection.autofilter field:=14, criterial="=SB*", Operator: =xlAnd
activesheet.range("N1").select
selction.end(xldonw).select
l=0
do until activecell.value="Remark"
helpsb= activecell.value
select case helpsb
case is="SB*"
if activecell.offset(0,-9).value="x" then
for l=0 to ubound(sb)
if sb(l)=helpsb then
activecell.offset(-1,9).select
go to here2 '也问一下,这里有什么方法可以直接结束select语句进行下一个循环
end if
next l
redim preserve sb(l)
sb(l)=helpsb
activecell.offset(-1,0).select
if activecell.offset(0,-9).value<>"x" then
activecell.offset(-1,-9).select
end if
case else '这里显示“case else不能在select case 之外”
activecell.offset(-1,0).select
end select
here2:
Loop
end sub
...全文
301 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Flowing_Dream 2011-03-01
  • 打赏
  • 举报
回复
谢谢哈,之前没注意看,1楼的提醒下我就知道该怎么改了。
[Quote=引用 4 楼 aisac 的回复:]
引用 1 楼 yiguangqiang88 的回复:
VB code
do until activecell.value="Remark"
helpsb= activecell.value
select case helpsb
case is="SB*"
if activecell.offset(0,-9).value="x" then
for l=0 to ubou……

你的……
[/Quote]
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 aisac 的回复:]
你的end if放错地方了,楼主的原意被改变了[/Quote]
嘿嘿,仅仅不要它出错而已,没看代码的,只看了下闭合
神马都能聊 2011-03-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yiguangqiang88 的回复:]
VB code
do until activecell.value="Remark"
helpsb= activecell.value
select case helpsb
case is="SB*"
if activecell.offset(0,-9).value="x" then
for l=0 to ubou……
[/Quote]
你的end if放错地方了,楼主的原意被改变了。
Flowing_Dream 2011-03-01
  • 打赏
  • 举报
回复
明白了,谢谢~
[Quote=引用 1 楼 yiguangqiang88 的回复:]
VB code
do until activecell.value="Remark"
helpsb= activecell.value
select case helpsb
case is="SB*"
if activecell.offset(0,-9).value="x" then
for l=0 to ubou……
[/Quote]
神马都能聊 2011-03-01
  • 打赏
  • 举报
回复
select case helpsb
case is="SB*"
if activecell.offset(0,-9).value="x" then
for l=0 to ubound(sb)
if sb(l)=helpsb then
activecell.offset(-1,9).select
go to here2 '也问一下,这里有什么方法可以直接结束select语句进行下一个循环
end if
next l
redim preserve sb(l)
sb(l)=helpsb
activecell.offset(-1,0).select
if activecell.offset(0,-9).value<>"x" then
activecell.offset(-1,-9).select
end if
case else '这里显示“case else不能在select case 之外”
activecell.offset(-1,0).select
end select



if没有闭合,缺少一个end if。

你的代码风格不好,缩进很诡异,于是就出了这样的错误。
  • 打赏
  • 举报
回复
do until activecell.value="Remark"
helpsb= activecell.value
select case helpsb
case is="SB*"
if activecell.offset(0,-9).value="x" then
for l=0 to ubound(sb)
if sb(l)=helpsb then
activecell.offset(-1,9).select
go to here2 '也问一下,这里有什么方法可以直接结束select语句进行下一个循环
end if
next l
redim preserve sb(l)
sb(l)=helpsb
activecell.offset(-1,0).select
if activecell.offset(0,-9).value<>"x" then
activecell.offset(-1,-9).select
end if

endif

case else '这里显示“case else不能在select case 之外”
activecell.offset(-1,0).select
end select
here2:
Loop
end sub

少了一个endif啊

7,787

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧