使用工作表中的多个范围

时间:2015-04-26 14:44:43

标签: excel vba excel-vba if-statement

我正在使用一个名为Start Page 的工作表。我的代码的目标是告知用户单元格是否为空,需要通过消息框输入值。我已经能够使用 If语句来做到这一点。请参阅下面的代码:

Dim rng As Range
Set rng = Sheets("Start page").Range("A4")
If rng = "" Then
    MsgBox "Please enter Date from A4", vbOKCancel
    Exit Sub
End If

但是我试图避免使用多个If语句。我所指的单元格和消息框如下:

Sheets(“Start page”).range(“A4”) msgbox “Please enter First valuation Date inA4”

Sheets(“Start page”).range(“F5”) msgbox “ Please enter the BPS”

Sheets(“Start page”).range(“F7”) msgbox “ Please enter Account number”

Sheets(“Start page”).range(“F9”) msgbox “ Please enter Date”

Sheets(“Start page”).range(“F11”)msgbox “ Please enter Number of Periods”

Sheets(“Start page”).range(“F13”)msgbox “Please Enter number of Days in the Year"

这样做有效吗?

1 个答案:

答案 0 :(得分:1)

这就是我描绘你的表格的方式。

Set up

代码将循环遍历范围,而它找到的第一个代码将弹出一条消息。

Pop Up Message

代码在消息中使用上面的单元格。

Cell Above

Sub FndBlnk()
    Dim Rng As Range, c As Range

    Set Rng = Range("A4,F5,F7,F9,F11,F13")

    For Each c In Rng.Cells

        If c <> "" Then
        Else: MsgBox "Enter " & c.Offset(-1)
        c.Select
        Exit Sub
        End If
    Next c

End Sub