Удаление пустых строк в диапазоне 
				   
 
 
 den45444  
 Дата: Пятница, 21.08.2015, 10:26 | 
 Сообщение № 1     
   
 
   
 
 
 Группа: Проверенные  
 
 
 Ранг: Форумчанин  
 
 Сообщений:  225 
 
 
 
 
  Репутация:    
 0    
 ±  
 
  
 Замечаний:
 0%   ±  
   Excel 2010          
  
 
 
 Помогите с решением макроса. Нужно удалить пустые строки в диапазоне, от первой строки до конца таблицы, с учетом того, что ниже таблицы находится текст с пустыми строками, которые должны оставаться.   Пример прикрепляю 
 
 
Помогите с решением макроса. Нужно удалить пустые строки в диапазоне, от первой строки до конца таблицы, с учетом того, что ниже таблицы находится текст с пустыми строками, которые должны оставаться.   Пример прикрепляю den45444  
 
 К сообщению приложен файл:   
						
							-2.xlsm 
							(20.9 Kb) 
						  
  
  
  
 Ответить 
Сообщение Помогите с решением макроса. Нужно удалить пустые строки в диапазоне, от первой строки до конца таблицы, с учетом того, что ниже таблицы находится текст с пустыми строками, которые должны оставаться.   Пример прикрепляю Автор - den45444  Дата добавления - 21.08.2015  в 10:26   
 
 
 den45444  
 Дата: Пятница, 21.08.2015, 12:30 | 
 Сообщение № 2     
   
 
   
 
 
 Группа: Проверенные  
 
 
 Ранг: Форумчанин  
 
 Сообщений:  225 
 
 
 
 
  Репутация:    
 0    
 ±  
 
  
 Замечаний:
 0%   ±  
   Excel 2010          
  
 
 
 AndreTM , Благодарю за помощь.   А если взять относительно ячейки со значением "Итого на материал:" ?
 
 
AndreTM , Благодарю за помощь.   А если взять относительно ячейки со значением "Итого на материал:" ?den45444  
 
  
  
  
 Ответить 
Сообщение AndreTM , Благодарю за помощь.   А если взять относительно ячейки со значением "Итого на материал:" ?Автор - den45444  Дата добавления - 21.08.2015  в 12:30   
 
 
 den45444  
 Дата: Пятница, 21.08.2015, 13:17 | 
 Сообщение № 3     
   
 
   
 
 
 Группа: Проверенные  
 
 
 Ранг: Форумчанин  
 
 Сообщений:  225 
 
 
 
 
  Репутация:    
 0    
 ±  
 
  
 Замечаний:
 0%   ±  
   Excel 2010          
  
 
 
 AndreTM , Как можно вставить данный макрос в этот макрос:   [vba]Код
Private Const strName As String = "Общие файлы.xlsm"   Private Const strNameL As String = "СМЕТА"   'вывод листа strNameL в файл strName   Sub копия_для_договора()       Dim str1 As String, rng1 As Range, rng2 As Range                      str1 = ThisWorkbook.Path & Application.PathSeparator           Workbooks.Open Filename:=str1 & strName                      With Workbooks(strName)           ThisWorkbook.Sheets(strNameL).Copy Before:=.Sheets(1)           .Save           .Close 0       End With   End Sub
 [/vba]   Нужно, чтобы при копировании листа в другую книгу одновременно удалялись пустые строки. 
 
 
AndreTM , Как можно вставить данный макрос в этот макрос:   [vba]Код
Private Const strName As String = "Общие файлы.xlsm"   Private Const strNameL As String = "СМЕТА"   'вывод листа strNameL в файл strName   Sub копия_для_договора()       Dim str1 As String, rng1 As Range, rng2 As Range                      str1 = ThisWorkbook.Path & Application.PathSeparator           Workbooks.Open Filename:=str1 & strName                      With Workbooks(strName)           ThisWorkbook.Sheets(strNameL).Copy Before:=.Sheets(1)           .Save           .Close 0       End With   End Sub
 [/vba]   Нужно, чтобы при копировании листа в другую книгу одновременно удалялись пустые строки.den45444  
 
  
  
  
 Ответить 
Сообщение AndreTM , Как можно вставить данный макрос в этот макрос:   [vba]Код
Private Const strName As String = "Общие файлы.xlsm"   Private Const strNameL As String = "СМЕТА"   'вывод листа strNameL в файл strName   Sub копия_для_договора()       Dim str1 As String, rng1 As Range, rng2 As Range                      str1 = ThisWorkbook.Path & Application.PathSeparator           Workbooks.Open Filename:=str1 & strName                      With Workbooks(strName)           ThisWorkbook.Sheets(strNameL).Copy Before:=.Sheets(1)           .Save           .Close 0       End With   End Sub
 [/vba]   Нужно, чтобы при копировании листа в другую книгу одновременно удалялись пустые строки.Автор - den45444  Дата добавления - 21.08.2015  в 13:17   
 
 
 den45444  
 Дата: Пятница, 21.08.2015, 14:03 | 
 Сообщение № 4     
   
 
   
 
 
 Группа: Проверенные  
 
 
 Ранг: Форумчанин  
 
 Сообщений:  225 
 
 
 
 
  Репутация:    
 0    
 ±  
 
  
 Замечаний:
 0%   ±  
   Excel 2010          
  
 
 
 AndreTM , Первый вариант. Только в копии.
 
 
AndreTM , Первый вариант. Только в копии.den45444  
 
  
  
  
 Ответить 
Сообщение AndreTM , Первый вариант. Только в копии.Автор - den45444  Дата добавления - 21.08.2015  в 14:03   
 
 
 den45444  
 Дата: Суббота, 22.08.2015, 10:43 | 
 Сообщение № 5     
   
 
   
 
 
 Группа: Проверенные  
 
 
 Ранг: Форумчанин  
 
 Сообщений:  225 
 
 
 
 
  Репутация:    
 0    
 ±  
 
  
 Замечаний:
 0%   ±  
   Excel 2010          
  
 
 
 Решил задачу попроще.   [vba]Код
Sub удаление_пустых_строк()   Dim firstRow&, lastRow&, lSt&, lSt1&           lSt = Columns("A:A").Find(What:="конец таблицы").Row           firstRow = 1           lastRow = lSt - 1           Range("A" & firstRow & ":A" & lastRow).SpecialCells(xlCellTypeBlanks).EntireRow.Delete   End Sub
 [/vba]  
 
 
Решил задачу попроще.   [vba]Код
Sub удаление_пустых_строк()   Dim firstRow&, lastRow&, lSt&, lSt1&           lSt = Columns("A:A").Find(What:="конец таблицы").Row           firstRow = 1           lastRow = lSt - 1           Range("A" & firstRow & ":A" & lastRow).SpecialCells(xlCellTypeBlanks).EntireRow.Delete   End Sub
 [/vba] den45444  
 
  
  
  
 Ответить 
Сообщение Решил задачу попроще.   [vba]Код
Sub удаление_пустых_строк()   Dim firstRow&, lastRow&, lSt&, lSt1&           lSt = Columns("A:A").Find(What:="конец таблицы").Row           firstRow = 1           lastRow = lSt - 1           Range("A" & firstRow & ":A" & lastRow).SpecialCells(xlCellTypeBlanks).EntireRow.Delete   End Sub
 [/vba] Автор - den45444  Дата добавления - 22.08.2015  в 10:43   
 
 
 den45444  
 Дата: Суббота, 22.08.2015, 10:46 | 
 Сообщение № 6     
   
 
   
 
 
 Группа: Проверенные  
 
 
 Ранг: Форумчанин  
 
 Сообщений:  225 
 
 
 
 
  Репутация:    
 0    
 ±  
 
  
 Замечаний:
 0%   ±  
   Excel 2010          
  
 
 
 А вот макрос на копирование листа в другую книгу + удаление пустых строк в диапазоне.   Может кому-нибудь пригодится:   [vba]Код
Private Const strName As String = "Общие файлы.xlsm"   Private Const strNameL As String = "СМЕТА"   'вывод листа strNameL в файл strName   Sub копия_для_договора()       Dim str1 As String       Dim firstRow&, lastRow&, lSt&                      str1 = ThisWorkbook.Path & Application.PathSeparator           Workbooks.Open Filename:=str1 & strName                      With Workbooks(strName)           ThisWorkbook.Sheets(strNameL).Copy Before:=.Sheets(1)           lSt = Columns("A:A").Find(What:="КОНЕЦ ТАБЛИЦЫ").Row           firstRow = 1           lastRow = lSt - 1           Range("A" & firstRow & ":A" & lastRow).SpecialCells(xlCellTypeBlanks).EntireRow.Delete           ActiveSheet.Shapes("Button 1").Delete           ActiveSheet.Shapes("Button 2").Delete           ActiveSheet.Shapes("Button 3").Delete           .Save           .Close 0       End With   End Sub
 [/vba]  
 
 
А вот макрос на копирование листа в другую книгу + удаление пустых строк в диапазоне.   Может кому-нибудь пригодится:   [vba]Код
Private Const strName As String = "Общие файлы.xlsm"   Private Const strNameL As String = "СМЕТА"   'вывод листа strNameL в файл strName   Sub копия_для_договора()       Dim str1 As String       Dim firstRow&, lastRow&, lSt&                      str1 = ThisWorkbook.Path & Application.PathSeparator           Workbooks.Open Filename:=str1 & strName                      With Workbooks(strName)           ThisWorkbook.Sheets(strNameL).Copy Before:=.Sheets(1)           lSt = Columns("A:A").Find(What:="КОНЕЦ ТАБЛИЦЫ").Row           firstRow = 1           lastRow = lSt - 1           Range("A" & firstRow & ":A" & lastRow).SpecialCells(xlCellTypeBlanks).EntireRow.Delete           ActiveSheet.Shapes("Button 1").Delete           ActiveSheet.Shapes("Button 2").Delete           ActiveSheet.Shapes("Button 3").Delete           .Save           .Close 0       End With   End Sub
 [/vba] den45444  
 
  
  
  
 Ответить 
Сообщение А вот макрос на копирование листа в другую книгу + удаление пустых строк в диапазоне.   Может кому-нибудь пригодится:   [vba]Код
Private Const strName As String = "Общие файлы.xlsm"   Private Const strNameL As String = "СМЕТА"   'вывод листа strNameL в файл strName   Sub копия_для_договора()       Dim str1 As String       Dim firstRow&, lastRow&, lSt&                      str1 = ThisWorkbook.Path & Application.PathSeparator           Workbooks.Open Filename:=str1 & strName                      With Workbooks(strName)           ThisWorkbook.Sheets(strNameL).Copy Before:=.Sheets(1)           lSt = Columns("A:A").Find(What:="КОНЕЦ ТАБЛИЦЫ").Row           firstRow = 1           lastRow = lSt - 1           Range("A" & firstRow & ":A" & lastRow).SpecialCells(xlCellTypeBlanks).EntireRow.Delete           ActiveSheet.Shapes("Button 1").Delete           ActiveSheet.Shapes("Button 2").Delete           ActiveSheet.Shapes("Button 3").Delete           .Save           .Close 0       End With   End Sub
 [/vba] Автор - den45444  Дата добавления - 22.08.2015  в 10:46   
 
 
 AndreTM  
 Дата: Суббота, 22.08.2015, 11:45 | 
 Сообщение № 7     
   
 
  
   
 
 
 Группа: Друзья  
 
 
 Ранг: Старожил  
 
 Сообщений:  1762 
 
 
 
 
  Репутация:    
 501    
 ±  
 
  
 Замечаний:
 0%   ±  
   2003 & 2010          
  
 
 
 А форматирование ячеек сметы при таком подходе не сбивается в копии?   И ещё бы добавить переименование созданного листа, чтобы его потом можно было отыскать быстрее.   А по идее, надо вообще в "общий накопитель" скидывать не сметы в виде для печати, а даннве из смет, в единую таблицу, с датами и ссылками на заказы/договора. Тогда в последующем можно и анализ смет легко прикрутить. Хотя я не знаю, может вы ведете учет выполненных работ отдельными табличками, где и так все нормально...  
 
 
А форматирование ячеек сметы при таком подходе не сбивается в копии?   И ещё бы добавить переименование созданного листа, чтобы его потом можно было отыскать быстрее.   А по идее, надо вообще в "общий накопитель" скидывать не сметы в виде для печати, а даннве из смет, в единую таблицу, с датами и ссылками на заказы/договора. Тогда в последующем можно и анализ смет легко прикрутить. Хотя я не знаю, может вы ведете учет выполненных работ отдельными табличками, где и так все нормально...  AndreTM  
 
Skype: andre.tm.007   Donate: Q iwi: 9517375010 
  
  
  
 Ответить 
Сообщение А форматирование ячеек сметы при таком подходе не сбивается в копии?   И ещё бы добавить переименование созданного листа, чтобы его потом можно было отыскать быстрее.   А по идее, надо вообще в "общий накопитель" скидывать не сметы в виде для печати, а даннве из смет, в единую таблицу, с датами и ссылками на заказы/договора. Тогда в последующем можно и анализ смет легко прикрутить. Хотя я не знаю, может вы ведете учет выполненных работ отдельными табличками, где и так все нормально...  Автор - AndreTM  Дата добавления - 22.08.2015  в 11:45