Страницы: 1
RSS
Как макросом сделать первую букву заглавной
 
Есть макрос  
Sub Макрос1()  
   Range("B1").NumberFormat = "dddd, dd/mmm"  
[b1] = [a1] + 1
End Sub  
в А1 - дата (31.07.2010), в В1 - пишет дату в формате "воскресенье, 01.авг", а надо "Воскресенье, 01.авг" (без кавычек).    
Подскажите пожалуйста, как это сделать
 
Миш, вот такое выдал хелп:  
Dim LowerCase, UpperCase  
LowerCase = "Hello World 1234"    ' String to convert.  
UpperCase = UCase(LowerCase)    ' Returns "HELLO WORLD 1234".  
Подойдет?
Я сам - дурнее всякого примера! ...
 
Только так:(  
Что то сильно длинно  
 
Sub Макрос1()  
Dim strData As String  
strData = Format([a1] + 1, "DDDD, dd/mmm")
strData = UCase(Left(strData, 1)) & Mid(strData, 2, Len(strData) - 1)  
Range("B1").Value = strData  
End Sub
 
KuklP. Я так понимаю, что в этом случае мне выдаст ВОСКРЕСЕНЬЕ, а надо Воскресенье;  
 
Igor67 - ну не очень то и длинно, главное - делает то, что надо :) Спасибо.    
 
зы. 77766 - просто красиво
 
Еще можно так:  
 
Sub Макрос1()  
Range("B1").NumberFormat = "dddd, dd/mmm"  
[b1] = [a1] + 1
[b1].EntireColumn.AutoFit
[b1] = Application.Proper([b1].Text)
End Sub
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
{quote}{login=Igor67}{date=31.07.2010 10:13}{thema=}{post}Только так:(  
Что то сильно длинно  
{/post}{/quote}  
Игорь я,  такому уважаемому форумчанину как Михаил, посчитал излишним разжевывать команду UCase. Он умный:-)
Я сам - дурнее всякого примера! ...
 
Он еще пока по формулам больше специализируется:)
 
{quote}{login=The_Prist}{date=31.07.2010 10:20}{thema=}{post}Еще можно так:  
{/post}{/quote}Наверное, даже так:  
Sub Макрос1()  
[b1] = Application.Proper(Format([a1] + 1, "dddd, dd/mmm"))
End Sub
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
А Димка нам всем "[b1] = Application.Proper([b1].Text)" нос утер! :-) Круто, я бы не догнал.
Я сам - дурнее всякого примера! ...
 
{quote}{login=KuklP}{date=31.07.2010 10:20}{thema=Re: }{post}{quote}{login=Igor67}{date=31.07.2010 10:13}{thema=}{post}Только так:(  
 
{/post}{/quote}  
Игорь я,  такому уважаемому форумчанину как Михаил, посчитал излишним разжевывать команду UCase. Он умный:-){/post}{/quote}только не в макросах. Да и вообще - все, что я умею в эксель, я узнал на этом форуме, да еще методом научного тыка.  
 
The_Prist. Примерно такой вариант я обдумывал (ПРОПНАЧ()), но тогда и месяц с прописной, а мне хочется, что б только день.
 
{quote}{login=Михаил}{date=31.07.2010 10:30}{thema=Re: Re: }{post}The_Prist. Примерно такой вариант я обдумывал (ПРОПНАЧ()), но тогда и месяц с прописной, а мне хочется, что б только день.{/post}{/quote}Sub Макрос1()  
[b1] = Application.Proper(Format([a1] + 1, "dddd, ")) & Format([a1] + 1, "dd/mmm")
End Sub
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
{quote}{login=The_Prist}{date=31.07.2010 10:26}{thema=Re: }{post}{quote}{login=The_Prist}{date=31.07.2010 10:20}{thema=}{post}Еще можно так:  
{/post}{/quote}Наверное, даже так:  
Sub Макрос1()  
[b1] = Application.Proper(Format([a1] + 1, "dddd, dd/mmm"))
End Sub{/post}{/quote}Учитывая размер кода, можно плюнуть на то, что "хочется", т.е. изменить хотелку. Ну и пусть месяц тоже будет с прописной!  
Спасибо!
 
{quote}{login=The_Prist}{date=31.07.2010 10:32}{thema=Re: Re: Re: }{post}{quote}{login=Михаил}{date=31.07.2010 10:30}{thema=Re: Re: }{post}The_Prist. Примерно такой вариант я обдумывал (ПРОПНАЧ()), но тогда и месяц с прописной, а мне хочется, что б только день.{/post}{/quote}Sub Макрос1()  
[b1] = Application.Proper(Format([a1] + 1, "dddd, ")) & Format([a1] + 1, "dd/mmm")
End Sub{/post}{/quote}Вообще КЛАСС!  
Спасибо!
Страницы: 1
Читают тему
Наверх