我有一个宏,它使用Select Case根据单元格的值选择电子邮件模板。
然而,在某些情况下,被检查为空白的单元格。我是否可以更改正被检查的单元格,例如,在Case Else中(row + 1),然后循环回到Select Case的开头,例如:
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,我将不知道如何退出循环。
有什么想法?
发布于 2017-09-20 02:11:09
只是你检查的两个单元格吗?如果是这样,请在开头尝试一个条件。
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发布于 2017-06-30 23:07:26
像这样的东西应该是有效的:
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
Loophttps://stackoverflow.com/questions/44849447
复制相似问题