Відмінності між версіями «Деякі нотатки мовою VBA»
Матеріал з Вікі ЦДУ
Armyguy (обговорення • внесок) |
Armyguy (обговорення • внесок) |
||
| Рядок 3: | Рядок 3: | ||
Процедура описує процес переформатування рядків за принципом, один рядок отримує фоновий колір за замовченням а другий - сірий. Таке форматування корисне при аналізі наприклад друкованих на папері прайсів. | Процедура описує процес переформатування рядків за принципом, один рядок отримує фоновий колір за замовченням а другий - сірий. Таке форматування корисне при аналізі наприклад друкованих на папері прайсів. | ||
| − | + | На початку маємо деяку таблицю, приклад зображено на Рис. 1: | |
| − | <center>[[Файл:Before_vba_rows.JPG]]</center> | + | <center>[[Файл:Before_vba_rows.JPG]]<br>Рис. 1</center> |
Процедура доволі проста, але функціональна. Тут вказана конкретна кількість рядків для обробки 12. Додана додаткова умова переформатування рядка, якщо перша комірка рядка містить число, то вважаємо дяний рядок за такий, який необхідно переформатувати. | Процедура доволі проста, але функціональна. Тут вказана конкретна кількість рядків для обробки 12. Додана додаткова умова переформатування рядка, якщо перша комірка рядка містить число, то вважаємо дяний рядок за такий, який необхідно переформатувати. | ||
| Рядок 35: | Рядок 35: | ||
</pre> | </pre> | ||
| − | У результаті виконання макросу отримуємо | + | У результаті виконання макросу отримуємо таблицю зображену на Рис. 2. |
| − | <center>[[Файл:After_vba_rows.JPG]]</center> | + | <center>[[Файл:After_vba_rows.JPG]]<br>Рис. 2</center> |
Версія за 11:01, 23 травня 2014
Приклад автоматичного переформатування рядків
Процедура описує процес переформатування рядків за принципом, один рядок отримує фоновий колір за замовченням а другий - сірий. Таке форматування корисне при аналізі наприклад друкованих на папері прайсів.
На початку маємо деяку таблицю, приклад зображено на Рис. 1:
Рис. 1
Процедура доволі проста, але функціональна. Тут вказана конкретна кількість рядків для обробки 12. Додана додаткова умова переформатування рядка, якщо перша комірка рядка містить число, то вважаємо дяний рядок за такий, який необхідно переформатувати.
Sub Macros()
Dim state As Boolean
state = False
For i = 1 To 12
Value = Cells(i, 1)
If ((IsNumeric(Value) = True) And (Value <> "")) Then
' MsgBox (Value)
If (state = True) Then
state = False
Range(Cells(i, 1), Cells(i, 5)).Select
With Selection.Interior
.ColorIndex = 15
.Pattern = xlSolid
End With
Else
state = True
Range(Cells(i, 1), Cells(i, 5)).Select
Selection.Interior.ColorIndex = xlNone
End If
End If
Next i
End Sub
У результаті виконання макросу отримуємо таблицю зображену на Рис. 2.
Рис. 2