Добрый день. Есть макрос вида:
Код |
---|
Sub Test()
Dim arr, lr, i, ss As Long
arr = Range(Cells(1, 18), Cells(160, 18)).Value
For lr = 1 To 160
If arr(lr, 1) >= 85 Then
ss = 28
Else
ss = 14
End If
Worksheets("Лист2").Rows(lr + 98).rowheight = ss
Next
End Sub. |
Хочется сделать так что бы само действие введенного условия было после цикла.
Объясняю, Когда больше миллиона строк, то это долго обрабатывать. Для чего именно так-когда ячейки объединены, автопобор высоты строк не работает. Поэтому по количеству символов я определяю какой высоты будет строка. Да и вообще, если кто-то мне поможет в этом разобраться, будет проще и другие условия выполнять после цикла. а не по отдельности каждого значения. Из всего что вычитал в интернете понял только примерную структуру. А как реализовать не понимаю.
Код |
---|
Sub Test()
Dim arr, lr, i, ss As Long
arr = Range(Cells(1, 18), Cells(160, 18)).Value
For lr = 1 To 160
If arr(lr, 1) >= 85 Then
ss = 28 ' при значении lr=1,7,8,9,15,19,22 и т.д.( это должно быть как бы первым набором для условия)
Else
ss = 14 ' при значении lr=2,3,4,5,6,10,11 и т.д., т .е. все остальные ( это должно быть вторым набором для условия)
End If
Next
' и вот здесь накопленный, набор в данном случае строки (1,7,8,9,15,19,22 и т.д.) имеет высоту = 22; а второй накопленный набор (1,7,8,9,15,19,22 и т.д.) имеет высоту = 14.
End Sub. |
Может кто-то что-то подобное делал. Заранее спасибо.
P.S. Надеюсь тему правильно указал. Только пожалуйста не накидывайтеcь. Я только изучаю VBA. Я не гуру. А то недавно задавал вопрос, сразу сказали что недалекого ума человек.