Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / можно ли задать шрифт задавая Value2 / 8 сообщений из 8, страница 1 из 1
07.07.2005, 12:43:28
    #33154295
можно ли задать шрифт задавая Value2
Ситуация следующая есть метод который получает двумерный массив для задания Value2. Трудящимся понадобилось что бы одна из строк была курсивом. В общем хотелось бы узнать есть ли какие либо управляющие символы у Excel'я для задания параметров шрифта. Например при создании колонтитула можно указать так
.RightFooter = "&""Arial CYR,курсив""&8стр&P из &N"
Вариант самому сделать какую либо управляющую последовательность с последующим анализом и заданием для нужных ячеек свойств не предлагать хочется знать имеется ли такая возможность у Excel или нет.
...
Рейтинг: 0 / 0
07.07.2005, 18:05:14
    #33155511
Дмит
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли задать шрифт задавая Value2
Может подойдёт условное форматирование.
...
Рейтинг: 0 / 0
07.07.2005, 18:35:55
    #33155574
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли задать шрифт задавая Value2
В общем хотелось бы узнать есть ли какие либо управляющие символы у Excel'я для задания параметров шрифта.
Управляющих символов нет. Зато у каждой ячейки есть объект Font в котором можно поменять все что угодно.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
ActiveCell.Value2 = some_variable
if some_variable >  100  then
  ActiveCell.Font.Italic = true
  ActiveCell.Font.Bold = false
elseif some_variable >  200  then
  ActiveCell.Font.Italic = true
  ActiveCell.Font.Bold = true
else
  ActiveCell.Font.Italic = false
  ActiveCell.Font.Bold = false
end if
...
Рейтинг: 0 / 0
08.07.2005, 11:31:53
    #33156368
можно ли задать шрифт задавая Value2
Жаль.

2 White Owl. Я это все прекрасно понимаю. Хотелось свалить массив и не лазить по ячейкам, особенно через ActiveCell это же тормоза будет вызывать стараюсь группу ячеек за раз обрабатывать поэтому и возник этот вопрос
...
Рейтинг: 0 / 0
08.07.2005, 18:34:34
    #33157629
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли задать шрифт задавая Value2
можно ли задать шрифт задавая Va2 White Owl. Я это все прекрасно понимаю. Хотелось свалить массив и не лазить по ячейкам, особенно через ActiveCell это же тормоза будет вызывать стараюсь группу ячеек за раз обрабатывать поэтому и возник этот вопрос
Не хочешь через ActiveCell и не надо, можно обрабатывать несколько ячеек за раз:

ActiveSheet.Range("B4:E23").Font.Italic = true

А можно прогнать в цикле даже с проверкой:
Код: plaintext
1.
2.
3.
4.
for each c in ActiveSheet.Range("B4:E23")
  if c.Value> 100  then 
    c.Font.Italic = true
  end if
next

а еще можно использовать условное форматирование, но там можно только ограниченое количество условий задавать и только простые сравнения.

А перемещать ActiveCell внутри макроса - действительно будут тормоза, поэтому никто такой глупостью не занимается.
...
Рейтинг: 0 / 0
20.07.2005, 20:39:27
    #33176887
можно ли задать шрифт задавая Value2
2 White Owl. Вы внимательней читайте вопрос.
МНЕ НАДО ДЛЯ ГРУППЫ ЯЧЕЕК ЗАДАТЬ ТЕКСТ ТАК ЧТО БЫ НАПРИМЕР В КАЖДОЙ ЯЧЕЙКЕ БЫЛО НАПРИМЕР 2 СЛОВА ОДНО СЛОВО ДОЛЖНО ИМЕТЬ СВОЙ FONT(Size, FontName, Bold,Italic) ДРУГОЕ СЛОВО ДРУГОЙ FONT(Size, FontName, Bold,Italic) НЕ ОБРАЩАЯСЬ К КАЖДОЙ ЯЧЕЙКЕ И НЕ ТРОГАЯ CHARACTERS.

Вы видимо меня опять с кем-то попутали. Как ламеру объясняете и опять приводите второй раз тормозной пример.

автор
for each c in ActiveSheet.Range("B4:E23")
if c.Value>100 then
c.Font.Italic = true
end if
next


Для сравнения сравните кол-во вызовов методов в вашем примере и в этом
Сколько вы будете лазить по всем ячейкам при помощи своего for each b и за сколько я пролезу

Sub vvv()
Dim a
Dim lb1 As Integer
Dim lb2 As Integer
Dim ub1 As Integer
Dim ub2 As Integer
Dim i As Integer
Dim j As Integer
Dim r As Range
Dim row
Dim col

Set r = ActiveSheet.Range("A1:Z1000")
a = r.Value2
lb1 = LBound(a, 1)
ub1 = UBound(a, 1)
lb2 = LBound(a, 2)
ub2 = UBound(a, 2)
For i = lb1 To ub1
For j = lb2 To ub2
a(i, j) = 107# * Rnd(1)
Next j
Next i
r.NumberFormat = "@"
r.Value2 = a

'Это что бы не возникало вопросов
a = Null
a = r.Value2
lb1 = LBound(a, 1)
ub1 = UBound(a, 1)
lb2 = LBound(a, 2)
ub2 = UBound(a, 2)

row = r.row
col = r.Column
For i = lb1 To ub1
For j = lb2 To ub2
If a(i, j) > 100 Then
' Вот примерно результат таков должен быть это мне надо но без вот такого
' лазияния по ячейкам хочу задать также как Value2
ActiveSheet.Cells(row + i - 1, col + j - 1).FormulaR1C1 = Str(a(i, j))
ActiveSheet.Cells(row + i - 1, col + j - 1).Characters(Start:=2, Length:=Int(Log(a(i, j)) / Log(10)) + 1).Font.Size = 18
End If
Next j
Next i
r.Columns.AutoFit
End Sub
...
Рейтинг: 0 / 0
20.07.2005, 21:15:18
    #33176913
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли задать шрифт задавая Value2
можно ли задать шрифт задавая VaМНЕ НАДО ДЛЯ ГРУППЫ ЯЧЕЕК ЗАДАТЬ ТЕКСТ ТАК ЧТО БЫ НАПРИМЕР В КАЖДОЙ ЯЧЕЙКЕ БЫЛО НАПРИМЕР 2 СЛОВА ОДНО СЛОВО ДОЛЖНО ИМЕТЬ СВОЙ FONT(Size, FontName, Bold,Italic) ДРУГОЕ СЛОВО ДРУГОЙ FONT(Size, FontName, Bold,Italic) НЕ ОБРАЩАЯСЬ К КАЖДОЙ ЯЧЕЙКЕ И НЕ ТРОГАЯ CHARACTERS.

Вы видимо меня опять с кем-то попутали. Как ламеру объясняете и опять приводите второй раз тормозной пример.
Так тебе надо два шрифта в одной ячейке? С этого и надо было начинать.
Нет, это можно сделать только через коллекцию Charaсters.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
01.08.2006, 21:04:46
    #33893149
Ivan33
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли задать шрифт задавая Value2
может тут чего есть. штука работает со шрифтом в ячейке. можно задавать размер, курсив, выделение, верхний, нижний индекс, и работать с каждой буквой.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / можно ли задать шрифт задавая Value2 / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]