我正在尝试在电子表格中创建条件。其中之一是将B列中单元格的字符数限制为20个。如果输入的数据超出限制,那么我想通过在A列中创建一条消息来对其进行标记。
我尝试修改代码,但无法弄清楚。我目前有一个已编码的消息框,但我想更改该消息框以连接到A列中已标记的错误。
Sub character_length()
For Each cell In Columns("B:B")
If Len(cell.Value) > 20 Then
MsgBox " Can't enter more than 15 characters"
cell.Value = ""
End If
Next
End Sub
如果输入的数据超过了,那么我想通过在A列中创建一条消息来对其进行标记。
答案 0 :(得分:0)
Sub character_length()
Dim cell As Range
Dim LastRow As Long
LastRow = Range("B" & Rows.Count).End(xlUp).Row
For Each cell In Range("B1:" & "B" & LastRow)
If Len(cell.Value) > 20 Then cell.Offset(0, -1).Value = cell.Offset(0, -1).Value & " Can't enter more than 20* characters"
Next
End Sub
以下代码循环遍历B列中的每个单元格,直到B列中的最后一行具有值。这将行数限制为仅数据集中的行数。您可能不希望excel检查所有100万以上的行。然后,它使用IF语句遍历每个单元的长度,类似于您的原始代码。然后,它使用新警告将左侧单元格(A列)中已有的内容连接起来。