2017-06-30 10 views
0

セルの値に基づいて電子メールテンプレートを選択するためにSelect Caseを使用するマクロがあります。ケース他のケースに戻るケースを選択する

しかし、機会があれば、空白でチェックされているセル。チェックされているセルを変更することは可能ですか?例えば、次にそれ以外のケースでは(行+ 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 

私はWhileループでこれを含めて考えたが、私は終了する方法を知っているだろうCase Elseが呼び出されない場合のループ

思考?このような

+0

ループブロックまたはジャンプステートメント(推奨しません)を使用する必要があります。 'Do'ループを終了するには、単純に' Exit Do'を使います。 –

答えて

-1

何か作業をする必要があります:

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 
0

は、それはあなたがチェックだけで2つのセルですか?その場合は、最初は条件付きで試してください。

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 
関連する問題