|
楼主 |
发表于 2019-10-14 13:45
|
显示全部楼层
您好,之前的代码能独立运行,非常感谢。
我有新的问题想请教,我尝试把您的代码套入解决一个稍微复杂一些的问题,我尝试用caseselect去写。
我先根据J列的回答(1或者2)分成两个case,case = 1 的时候判定k列,用了if条件输出结果。 case = 2的时候判定s到z列,用的是您的代码。
这两个部分分开单独处理case1 或case2都能独立运行,但是合在一起的时候会出现run-time error 9的错误,超出下标范围,请问如何解决?
代码和示例如下
Sub macro111()
'
Dim a As Integer
Dim b As Integer
Dim x As Integer
Dim result As String
For x = 2 To 110
a = Cells(x, 10).Value
Select Case a
Case Is = 1
b = Cells(x, 11).Value
If b = 1 Then
result = "15,001~20,000"
ElseIf b = 2 Then
result = "20,001~30,000"
ElseIf b = 3 Then
result = "30,001~40,000"
ElseIf b = 4 Then
result = "40,001~50,000"
ElseIf b = 5 Then
result = "50,000+"
Cells(x, 26).Value = result
End If
Case Is = 2
macro1
End Select
Next x
End Sub
Sub macro1()
'
s = [{14750,14000;13150,12700;12500,12200;11800,11500;11300,11050;10800,10650;10550,10400;10200,10050}]
arr = [a1].CurrentRegion
For i = 2 To UBound(arr)
For ii = 19 To UBound(arr, 26)
If Len(arr(i, ii)) Then arr(i, ii) = IIf(arr(i, ii) = 1, s(ii - 1, 1), s(ii - 1, 2))
Next
Next
[a1].CurrentRegion = arr
End Sub
不太懂上传代码的正确方式,请见谅
谢谢
根据单元格的答案输出特定结果实例1.rar
(22.9 KB, 下载次数: 0)
|
|