我试图编写一个VBA代码来检查特定范围内所有单元格的长度是否保持在25个字符以下。
如果任何单元格超过 25 个字符,则需要弹出一个包含单元格名称的消息框。
例如范围 = A1:A10
如果单元格 A3 有 27 个字符,则需要弹出消息框,指出“单元格 A3”
你们有人能帮我吗?
这实际上就是您所要求的。这是一个非常简单的循环。然而,在包含大量超过 25 的值的大型数据集上,它会困扰您的屏幕
Sub TestCellLengths()
Dim c As Range
For Each c In Range("A1:A10")
If Len(c) > 25 Then MsgBox "Cell " & c.Address(RowAbsolute:=False, ColumnAbsolute:=False)
Next c
End Sub
我建议只显示一个
MsgBox
Sub TestCellLengths()
Dim c As Range
Dim Msg As String
For Each c In Range("A1:A10")
If Len(c) > 25 Then Msg = Msg & vbTab & c.Address(RowAbsolute:=False, ColumnAbsolute:=False) & vbNewLine
Next c
If Len(Msg) > 0 Then MsgBox "Cells:" & vbNewLine & Msg
End Sub
我也想知道同样的事情。我猜你不需要循环,这会在几千行上花费更长的时间。
公式为 =INDEX(range,MATCH(MAX(LEN(range)),LEN(range),0)
我用过
AG2 = Application.VLookup(AG1, 工作簿(WB1).Sheets("已清理").Range("R:V"), 2, False)
避免两列与数千行之间的比较。 我将尝试与索引匹配相同的操作并返回。