首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Case Else循环回到Select Case

Case Else循环回到Select Case
EN

Stack Overflow用户
提问于 2017-06-30 23:00:21
回答 2查看 201关注 0票数 0

我有一个宏,它使用Select Case根据单元格的值选择电子邮件模板。

然而,在某些情况下,被检查为空白的单元格。我是否可以更改正被检查的单元格,例如,在Case Else中(row + 1),然后循环回到Select Case的开头,例如:

代码语言:javascript
复制
CellToCheck = .Cell(1, 1)

Select Case CellToCheck

Case = 1
Email = "blah blah 1"

Case = 2
Email = "blah blah 2"

Case = 3
Email = "blah blah 3"

Case Else
CellToCheck = Cell(2,1)
'Loop back to "Select Case CellToCheck

我考虑过将其包含在Do While循环中,但如果不调用Case Else,我将不知道如何退出循环。

有什么想法?

EN

回答 2

Stack Overflow用户

发布于 2017-09-20 02:11:09

只是你检查的两个单元格吗?如果是这样,请在开头尝试一个条件。

代码语言:javascript
复制
Function EmailCheck()

    Dim Email As String
    Dim CellToCheck As Integer

    CellToCheck = Cells(1, 1).Value
    If Cells(1, 1).Value = "" Then CellToCheck = Cells(2, 1).Value

    Select Case CellToCheck

    Case Is = 1
    Email = "blah blah 1"

    Case Is = 2
    Email = "blah blah 2"

    Case Is = 3
    Email = "blah blah 3"

    Case Else
    MsgBox "Check Range Values"
    Exit Function

    End Select

    MsgBox Email

End Function
票数 0
EN

Stack Overflow用户

发布于 2017-06-30 23:07:26

像这样的东西应该是有效的:

代码语言:javascript
复制
   CellToCheck = .Cell(1, 1)
   email = ""

   Do While email = ""
      Select Case CellToCheck
         Case Is = 1
            email = "blah blah 1"

         Case Is = 2
            email = "blah blah 2"

         Case Is = 3
            email = "blah blah 3"

         Case Else
            CellToCheck = Cell(2, 1)
      End Select
   Loop
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44849447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档