Добрый день, пытаюсь создать скрипт для автоматического изменения размера шрифта в заданной ячейке. Суть в том, что если у нас в ячейке до 11 символов - шрифт 26, если 12 - шрифт 25, если 13 - 23 и тд. У меня работает следующая схема [vba]
Код
If Len(CStr(Cells(4, 2))) > 11 Then Cells(4, 2).Font.Size = 25 End If If Len(CStr(Cells(4, 2))) > 12 Then Cells(4, 2).Font.Size = 23 End If If Len(CStr(Cells(4, 2))) > 13 Then Cells(4, 2).Font.Size = 21 End If If Len(CStr(Cells(4, 2))) > 14 Then Cells(4, 2).Font.Size = 20 End If If Len(CStr(Cells(4, 2))) > 15 Then Cells(4, 2).Font.Size = 16 End If If Len(CStr(Cells(4, 2))) > 20 Then Cells(4, 2).Font.Size = 12 End If If Len(CStr(Cells(4, 2))) <= 11 Then Cells(4, 2).Font.Size = 26 End If
[/vba] Все отлично работает, но у меня есть две ячейки в которых размер должен быть одинаковым
например если в Cells(4, 2) - 3 символа, то шрифт стоит 26, а в Cells(5, 2)- символов больше 11, должен стать шрифт 25 в обоих ячейках, и наоборот если в первой больше символов чем во второй, шрифты должны изменятся одинаково. Пытался сделать следующее [vba]
Код
If Len(CStr(Cells(4, 2))) > 11 Then Cells(4, 2).Font.Size = 25 End If
If Len(CStr(Cells(5, 2))) > 11 Then Cells(5, 2).Font.Size = 25 End If
[/vba] работает только последняя строка
так тоже не идет [vba]
Код
If Len(CStr(Cells(4, 2))) > 11 or Len(CStr(Cells(5, 2))) > 11 Then Cells(4, 2).Font.Size = 25 Cells(5, 2).Font.Size = 25 End If
[/vba] Как быть? [moder]Замечания исправлены[/moder]
Добрый день, пытаюсь создать скрипт для автоматического изменения размера шрифта в заданной ячейке. Суть в том, что если у нас в ячейке до 11 символов - шрифт 26, если 12 - шрифт 25, если 13 - 23 и тд. У меня работает следующая схема [vba]
Код
If Len(CStr(Cells(4, 2))) > 11 Then Cells(4, 2).Font.Size = 25 End If If Len(CStr(Cells(4, 2))) > 12 Then Cells(4, 2).Font.Size = 23 End If If Len(CStr(Cells(4, 2))) > 13 Then Cells(4, 2).Font.Size = 21 End If If Len(CStr(Cells(4, 2))) > 14 Then Cells(4, 2).Font.Size = 20 End If If Len(CStr(Cells(4, 2))) > 15 Then Cells(4, 2).Font.Size = 16 End If If Len(CStr(Cells(4, 2))) > 20 Then Cells(4, 2).Font.Size = 12 End If If Len(CStr(Cells(4, 2))) <= 11 Then Cells(4, 2).Font.Size = 26 End If
[/vba] Все отлично работает, но у меня есть две ячейки в которых размер должен быть одинаковым
например если в Cells(4, 2) - 3 символа, то шрифт стоит 26, а в Cells(5, 2)- символов больше 11, должен стать шрифт 25 в обоих ячейках, и наоборот если в первой больше символов чем во второй, шрифты должны изменятся одинаково. Пытался сделать следующее [vba]
Код
If Len(CStr(Cells(4, 2))) > 11 Then Cells(4, 2).Font.Size = 25 End If
If Len(CStr(Cells(5, 2))) > 11 Then Cells(5, 2).Font.Size = 25 End If
[/vba] работает только последняя строка
так тоже не идет [vba]
Код
If Len(CStr(Cells(4, 2))) > 11 or Len(CStr(Cells(5, 2))) > 11 Then Cells(4, 2).Font.Size = 25 Cells(5, 2).Font.Size = 25 End If
[/vba] Как быть? [moder]Замечания исправлены[/moder]v_i_t_a_l_y_a
Сообщение отредактировал SLAVICK - Понедельник, 16.05.2016, 16:46
Спасибо, но при изменении любой ячейки из двух, мы должны получать одинаковый результат в обоих ячейках. В Вашем варианте изменяется по разному размер шрифта в ячейках
Это тоже-самое, что и мой третий вариант.
Спасибо, но при изменении любой ячейки из двух, мы должны получать одинаковый результат в обоих ячейках. В Вашем варианте изменяется по разному размер шрифта в ячейках
Это тоже-самое, что и мой третий вариант.v_i_t_a_l_y_a
Сообщение отредактировал v_i_t_a_l_y_a - Понедельник, 16.05.2016, 17:02