Цитата |
---|
RAN: Два дерева в три ряда? |
зато короче на 1 строку без потери логики и производительности |
---|
Код |
---|
' как есть (7 строк)
If RefStyle = 0 Then RefStyle = xlA1
If RefStyle = xlR1C1 Then
fRF1 = True: fRF2 = True
ElseIf RefStyle <> xlA1 Then
MsgBox "Bad RefStyle «" & RefStyle & "»", vbCritical, "RangeAddress"
Err.Raise xlErrNA: Exit Function
End If
' как "правильно" (+ 1 строка)
If RefStyle = 0 Then
RefStyle = xlA1
ElseIf RefStyle = xlR1C1 Then
fRF1 = True: fRF2 = True
ElseIf RefStyle <> xlA1 Then
MsgBox "Bad RefStyle «" & RefStyle & "»", vbCritical, "RangeAddress"
Err.Raise xlErrNA: Exit Function
End If
' метка + "длинная" строка (3,1 строки)
If RefStyle = 0 Then RefStyle = xlA1: GoTo nx
If RefStyle = xlR1C1 Then fRF1 = True: fRF2 = True: GoTo nx
If RefStyle <> xlA1 Then MsgBox "Bad RefStyle «" & RefStyle & "»", vbCritical, "RangeAddress": Err.Raise xlErrNA: Exit Function
nx: |
|
я и спойлеры с той же целью активно использую - так компактнее и красивее, только не нужно скатываться в излишние метки и чрезмерно длинные строки через ":" — везде нужен баланс, хотя тут уже вкусовщина
Заменил цикл на более "правильный" - если 0, то незачем дальше проверять
Спасибо за замечание и особенно — за первый ответ по делу