|
Sub test()
Dim nRow%, Arr(), Brr(), Crr(), Drr(1 To 2)
nRow = 5 '测试数据,须修改
Arr = Range("a1:l5").Value '测试数据,须修改
ReDim Brr(1 To nRow, 6 To 12), Crr(6 To 12)
For i = nRow To 1 Step -1
For j = 1 To 6
If Arr(i, j) <> "" Then Brr(i, 6) = Brr(i, 6) + 1
Next
For j = 7 To 12
Brr(i, j) = Brr(i, j - 1) + IIf(Arr(i, j) <> "", 1, 0) - IIf(Arr(i, j - 6) <> "", 1, 0)
Next
Next
For j = 6 To 12
For i = nRow To 1 Step -1
If Brr(i, j) > 3 Then Exit For
Crr(j) = Crr(j) + 1
If Crr(j) > Drr(1) Then
Drr(1) = Crr(j)
Drr(2) = j - 5 '如有多个答案,仅保留其中一个
End If
Next
Next
MsgBox "从第" & Drr(2) & "列开始到第" & Drr(2) + 5 & "列,每行字母格不超过3个,共有" & Drr(1) & "行。"
End Sub
|
|