Страницы: 1
RSS
функция =Пропнач() в макросе
 
Добрый день!  
Подскажите пжл где я ошибся!!!  
 
Необходимо к столбцу "H" применить формулу =ПРОПНАЧ() до последней заполненной ячейки:  
 
Sub Isp_Prop()  
   Lcell = app.Cells.SpecialCells(xlCellTypeLastCell).Row  
   For x = 1 To Lcell  
       Range("h:h").Formula = Proper(x)  
   Next x  
End Sub  
 
Спасибо
 
{quote}{login=pch@koff}{date=29.03.2011 11:38}{thema=функция =Пропнач() в макросе}{post}Добрый день!  
Подскажите пжл где я ошибся!!!  
 
Необходимо к столбцу "H" применить формулу =ПРОПНАЧ() до последней заполненной ячейки:  
 
Sub Isp_Prop()  
   Lcell = app.Cells.SpecialCells(xlCellTypeLastCell).Row  
   For x = 1 To Lcell  
       Range("h:h").Formula = Proper(x)  
   Next x  
End Sub  
 
Спасибо{/post}{/quote}  
 
то есть так:  
Sub Isp_Case2()  
   Lcell = Application.Cells.SpecialCells(xlCellTypeLastCell).Row  
   For x = 1 To Lcell  
       Range("h:h").Formula = Proper(x)  
   Next x  
End Sub  
 
Ругается на Proper(x)
 
{quote}{login=The_Prist}{date=29.03.2011 11:41}{thema=}{post}Application.Proper{/post}{/quote}  
Дмитрий, что-то не получается. Код работать, работает, но делает совсем не то что мне требовалось ((
 
Sub Isp_Prop()  
Dim x As Range  
For Each x In Range(Cells(1, 8), Cells(Range("H65536").End(xlUp).Row, 8))  
x.Value = Application.Proper(x)  
Next x  
End Sub
 
так у вас Proper от целого числа берется :)
 
{quote}{login=}{date=29.03.2011 11:50}{thema=}{post}так у вас Proper от целого числа берется :){/post}{/quote}  
МСН, это было не Вам, а автору темы.
 
{quote}{login=}{date=29.03.2011 11:51}{thema=}{post}{quote}{login=}{date=29.03.2011 11:50}{thema=}{post}так у вас Proper от целого числа берется :){/post}{/quote}  
МСН, это было не Вам, а автору темы.{/post}{/quote}  
 
Инкогнито, можно сказать впервые сам написал кодик, чисто логически, ну чуток не получилось...  
Спасибо MCH, работает как надо!!!  
А если мне применить на несколько несвязанных столбцов, допустим H, L, N, R, как изменится код???
 
{quote}{login=The_Prist}{date=29.03.2011 11:57}{thema=}{post}Если надо именно формулу вписать, то и вписывайте формулу. Запишите макрорекордером вставку данной формулы в ячейку. И эту запись используйте в макрсое.    
 
А вообще что это такое?    
Range("h:h").Formula = Proper(x)  
 
Вы идете циклом и каждый раз в столбец H вписываете чего-то. Зачем? Вообще без цикла можно:  
Sub Isp_Prop()  
With Range(Cells(1, 8), Cells(Range("H65536").End(xlUp).Row, 8))  
.Value = Application.Proper(.Value)  
End With  
End Sub{/post}{/quote}  
 
Спасибо Дмитрий, буду разбираться. Через макрорекордер я как-раз и пытался, но видимо не то выдернул чтобы укоротить код.
Страницы: 1
Читают тему
Наверх