Страницы: 1
RSS
VBA изменить формат ячейки с помощью переменной
 
В тексте макроса создается переменная t1 (текстовый формат), вычисляется ее значение.  
Далее пытаюсь изменить формат ячейки на: Основной"/значение_переменной_t1". Прописываю в коде следующее:  
 
Selection.NumberFormat = "General""/" & "t1""".  
 
Но в результате в формат прописывается не значение переменной, а ее название. Если записать в строку формулы t1 без кавычек, выдает ошибку синтаксиса.  
 
Подскажите, пожалуйста, где ошибка.
 
Сначала присвойте ячейке значение, а потом уж форматируйте(или наоборот) как то:  
Selection.value = t1  
Selection.NumberFormat = "General"
Я сам - дурнее всякого примера! ...
 
Вы указываете и формат и имя переменной. Достататочно указать переменную:  
Sub test()  
Dim t1 As String  
t1 = "[$-419]mmmm yyyy;@" 'для примера
   Selection.NumberFormat = t1  
End Sub
 
Вот такая продцедурка:  
Sub test()  
t1 = "abc"""  
Selection.NumberFormat = "General""/" & t1  
End Sub
Редко но метко ...
 
Извините, наверное не так пояснил.  
 
В чем суть: мне нужен именно формат ячейки Основной"/значение_переменной_t1". Например: в ячейку с измененным форматом последовательно попадают цифры 1, 2, 3 и т.д. Значение переменной в моем случае равно 12. Благодаря установленному формату значения в ячейке принимают вид 1/12, 2/12, 3/12 и т.д. А у меня получается 1/t1, 2/t1, 3/t1.
 
{quote}{login=GIG_ant}{date=06.07.2011 11:34}{thema=}{post}Вот такая продцедурка:  
Sub test()  
t1 = "abc"""  
Selection.NumberFormat = "General""/" & t1  
End Sub{/post}{/quote}  
 
Вы верно поняли ход моих мыслей и в вашем примере все работает, а в моем выдает ошибку "Нельзя установить свойство NumberFormat класса Range".  
Моя переменная ищется следующим образом и тоже, по идее, имеет текстовый формат в окне Watches показывает значение "13":  
t1 = Right(WorksheetFunction.text(Range("Дата_додатку"), "DD.MM.YYYY"), 2)
 
Попробуйте задать свою переменную так:  
 
t1 = Right(WorksheetFunction.text(Range("Дата_додатку"), "DD.MM.YYYY"), 2) & """"
Редко но метко ...
 
и потом:  
Selection.NumberFormat = "General""/" & t1
Редко но метко ...
 
{quote}{login=GIG_ant}{date=06.07.2011 11:54}{thema=}{post}Попробуйте задать свою переменную так:  
 
t1 = Right(WorksheetFunction.text(Range("Дата_додатку"), "DD.MM.YYYY"), 2) & """"{/post}{/quote}  
 
Спасибо! Заработало!
Страницы: 1
Читают тему
Наверх