Страницы: 1
RSS
Выделить диапазон макросом
 
Здравствуйте! Помогите пожалуйста изменить макрос  
 
Sub Макрос()  
Range("A5", Cells(Rows.Count, "D").End(xlUp)).Select  
End Sub  
 
Макрос выделяет весь диапазон ячеек до последних заполненных в низу, включая пустые,    
в столбцах с А по D. Нужно тоже самое только с А по D и еще F и G, без E
 
если честно, то макросом лучше не выделять ячейки на листе.  
 
Select - нужен только для вас (человека), макросу (компьютеру) - Select нафиг не нужен, он и без него может работать и даже быстрее, чем с Select  
 
P.S. Лучше опишите свою проблему в целом и файл-пример приложите, а мы посмотрим, чем сможем помочь
 
Sub Макрос()  
Intersect([a:d,f:g], Range("A5", Cells(Rows.Count, "d").End(xlUp).Offset(, 3))).Select
End Sub
Я сам - дурнее всякого примера! ...
 
{quote}{login=Ластик}{date=01.02.2012 12:08}{thema=}{post}если честно, то макросом лучше не выделять ячейки на листе.  
 
Select - нужен только для вас (человека), макросу (компьютеру) - Select нафиг не нужен, он и без него может работать и даже быстрее, чем с Select  
 
P.S. Лучше опишите свою проблему в целом и файл-пример приложите, а мы посмотрим, чем сможем помочь{/post}{/quote}  
 
Mакрос указанный выше, должен стать частью макроса который автоматически создает лист, и формирует на нем список позиций, основная  
задача этой части макроса это выделить определенный диапазон и вставить  
границы "тонкую сетку" Собственно и всё.
 
Чтобы добавить "сетку", выделять тоже не нужно. Выполните на чистом листе простенький макрос:  
Sub TestGrid()  
   Range(Cells(2, 3), Cells(6, 4)).Borders.LineStyle = xlContinuous  
End Sub
 
Вот файл, на втором листе требуемый результат  
если можно обойтись без выделения, то интересно как?
 
См. пост выше.
 
{quote}{login=Юрий М}{date=01.02.2012 12:37}{thema=}{post}Чтобы добавить "сетку", выделять тоже не нужно. Выполните на чистом листе простенький макрос:  
Sub TestGrid()  
   Range(Cells(2, 3), Cells(6, 4)).Borders.LineStyle = xlContinuous  
End Sub{/post}{/quote}  
 
А относительно примера, как это может выглядеть?
 
Угадал все буквы но не смог назвать слово:-( Ну все же разжевали.  
Sub Макрос()  
   Intersect([a:d,f:g], Range("A5", Cells(Rows.Count, "d").End(xlUp).Offset(, 3))).Borders.LineStyle = xlContinuous
End Sub
Я сам - дурнее всякого примера! ...
 
Или так - проще для понимания:  
Sub tt()  
Range([d5], Range("A" & Rows.Count).End(xlUp)).Borders.Weight = xlHairline
Range([g5], Range("F" & Rows.Count).End(xlUp)).Borders.Weight = xlHairline
End Sub
 
Спасибо! все работает, только сетку нужно как в примере на втором листе, самую  
тонкую
 
sanhasan, включите макрорекордер, запишите обрамление нужной сеткой и посмотрите код.
 
Чтож говорите "всё", если мой вариант не попробовали?
 
Наверное, тип сетки не понравился :-)
 
{quote}{login=Hugo}{date=01.02.2012 01:27}{thema=}{post}Чтож говорите "всё", если мой вариант не попробовали?{/post}{/quote}  
 
Ваш вариант не удается запустить, почему то при его выборе в окне запуска  
макросов все кнопки становятся не активными.
 
Это вирус:-)
Я сам - дурнее всякого примера! ...
 
{quote}{login=Юрий М}{date=01.02.2012 01:14}{thema=}{post}sanhasan, включите макрорекордер, запишите обрамление нужной сеткой и посмотрите код.{/post}{/quote}  
Я так сразу и сделал, только что от туда брать вот это xlNone или это xlHairline  
ни то ни это не работает, что то я там больше ни чего не нашел.
 
xlNone  - нет линий.  
xlHairline - это Вам предлагал Hugo - попробуйте.
 
Sub tt()  
Range([d5], Range("A" & Rows.Count).End(xlUp)).Borders.Weight = xlHairline
Range([g5], Range("F" & Rows.Count).End(xlUp)).Borders.Weight = xlHairline
End Sub  
 
Вот этот вариант работает так как надо, почему то заработал  после  
перезапуска excel Спасибо!
Страницы: 1
Читают тему
Наверх