我正在从E2到E15进行迭代。我想显示一个消息框并指出其中的单元格。例如E3是空的,我希望错误是请填写单元格E3。我正在使用下面的代码。怎么改变?
Set rRng = Sheet1.Range("E2:E15")
For Each c In rRng.Cells
If c.Value = "" Then
MsgBox ("Please fill in cell" + c)
GoTo end_of_for
End If
Next
end_of_for:
答案 0 :(得分:2)
使用SpecialCells来避免循环:
If Application.CountA(Sheet1.Range("E2:E15")) <> Sheet1.Range("E2:E15").Cells.Count Then
Set rrng = Sheet1.Range("E2:E15").SpecialCells(xlCellTypeBlanks)
If Not rrng Is Nothing Then MsgBox "Please fill in cell(s): " & rrng.Address(0, 0)
End If
这将立即返回所有空白单元格的地址。
答案 1 :(得分:1)
像这样,使用范围的地址属性。如果只有一个空白,则可以避免使用特殊单元的循环。请注意,连接器是&amp;而不是+。
let duration: TimeInterval = 10
let fontSize = CGFloat(68)
let label = UILabel()
label.font = UIFont.systemFont(ofSize: fontSize)
label.layer.anchorPoint = CGPoint(x: 0, y: 0)
label.layer.position = CGPoint(x: 0, y: 0)
label.text = "yourText"
label.sizeToFit()
view.addSubview(label)
label.transform = CGAffineTransform(scaleX: 0.25, y: 0.25)
UIView.animate(withDuration: duration) {
label.transform = CGAffineTransform(scaleX: 1, y: 1)
}
答案 2 :(得分:0)
您可以通过调用Cells对象上的方法.Address以“$ E $ 2”的形式获取地址。通过替换'$'字符,您可以得到您想要的内容
Set rRng = Range("E2:E15")
For Each c In rRng.Cells
If c.Value = "" Then
MsgBox ("Please fill in cell " + Replace(c.Address, "$", ""))
GoTo end_of_for
End If
Next
end_of_for: