Здравствуйте, подскажите, пожалуйста, как можно закрасить лишь одну букву в ячейке с данными, перед которой стоит пробел? Поставлена формула для определения пола, но в некоторых случая она работает не так как нужно, например, Ульяну Петрович она определила как мужчину, потому в конце лучше ставить букву А, через пробел, чтобы этого избежать, но она не должна выводиться на печать. Через УФ он закрашивает всю ячейку, не против если это будет и УФ, если это возможно, либо макрос, но не автоматический. Спасибо.
Здравствуйте, подскажите, пожалуйста, как можно закрасить лишь одну букву в ячейке с данными, перед которой стоит пробел? Поставлена формула для определения пола, но в некоторых случая она работает не так как нужно, например, Ульяну Петрович она определила как мужчину, потому в конце лучше ставить букву А, через пробел, чтобы этого избежать, но она не должна выводиться на печать. Через УФ он закрашивает всю ячейку, не против если это будет и УФ, если это возможно, либо макрос, но не автоматический. Спасибо.Liana88
Private Sub Worksheet_Calculate() Sheet1.Range("G:G").EntireColumn.Hidden = True Sheet1.Range("F:F").EntireColumn.Hidden = False End Sub
Private Sub Workbook_BeforePrint(Cancel As Boolean) With Sheet1 .Range("G:G").EntireColumn.Width = .Range("F:F").EntireColumn.Width .Range("G:G").EntireColumn.Hidden = False .Range("D:D").EntireColumn.Hidden = True End With End Sub
[/vba]
P.S. на предпросмотре не идно, только на печати.
Liana88,
Это не совсем то что вы хотите, но вариант достижения результата. Есть возможность вставить рядом дополнительный столбец? Если да, то в него например
Private Sub Worksheet_Calculate() Sheet1.Range("G:G").EntireColumn.Hidden = True Sheet1.Range("F:F").EntireColumn.Hidden = False End Sub
Private Sub Workbook_BeforePrint(Cancel As Boolean) With Sheet1 .Range("G:G").EntireColumn.Width = .Range("F:F").EntireColumn.Width .Range("G:G").EntireColumn.Hidden = False .Range("D:D").EntireColumn.Hidden = True End With End Sub
[/vba]
P.S. на предпросмотре не идно, только на печати.bmv98rus
For Each c In Range("F2:F" & u_1) If c.Value <> Replace(c.Value, u_2, "") Then 'если искомое есть в тексте i_27 = WorksheetFunction.Search(u_2, c.Value) i_28 = Len(c) If i_27 + 1 = i_28 Then 'если искомое в конце u_3 = WorksheetFunction.Find(u_2, c.Value) 'позиция искомого c.Characters(Start:=u_3, Length:=2).Font.ColorIndex = 2 End If End If Next c
For Each c In Range("F2:F" & u_1) If c.Value <> Replace(c.Value, u_2, "") Then 'если искомое есть в тексте s = Right(c, 2) i_28 = Len(c) If s = u_2 Then 'если искомое в конце c.Characters(Start:=i_28, Length:=2).Font.ColorIndex = 2 End If End If Next c
For Each c In Range("F2:F" & u_1) If c.Value <> Replace(c.Value, u_2, "") Then 'если искомое есть в тексте i_27 = WorksheetFunction.Search(u_2, c.Value) i_28 = Len(c) If i_27 + 1 = i_28 Then 'если искомое в конце u_3 = WorksheetFunction.Find(u_2, c.Value) 'позиция искомого c.Characters(Start:=u_3, Length:=2).Font.ColorIndex = 2 End If End If Next c
For Each c In Range("F2:F" & u_1) If c.Value <> Replace(c.Value, u_2, "") Then 'если искомое есть в тексте s = Right(c, 2) i_28 = Len(c) If s = u_2 Then 'если искомое в конце c.Characters(Start:=i_28, Length:=2).Font.ColorIndex = 2 End If End If Next c
, так ещё и Гадя Петрович Хренова у неё женщина! А если серьёзно, то: Во-первых, стандартными формулами листа изменить формат текста ячейки, а тем более - отдельного символа её текста невозможно. Во-вторых, ручное искажение данных в ячейках (дописывание буквы А, скрытой форматированием ТОЛЬКО ОТ ВЫВОДА на экран или печать) - порочный метод, который может привести к проблемам при возникновении в дальнейшем необходимости в обработке информации. Т.е. нужно принципиально менять подход.
Да... Формула вообще врёт безбожно. Мало того, что
, так ещё и Гадя Петрович Хренова у неё женщина! А если серьёзно, то: Во-первых, стандартными формулами листа изменить формат текста ячейки, а тем более - отдельного символа её текста невозможно. Во-вторых, ручное искажение данных в ячейках (дописывание буквы А, скрытой форматированием ТОЛЬКО ОТ ВЫВОДА на экран или печать) - порочный метод, который может привести к проблемам при возникновении в дальнейшем необходимости в обработке информации. Т.е. нужно принципиально менять подход.Alex_ST