Страницы: 1
RSS
Как удалить ненужные строки из ячеек
 
Добрый день!  
Помогите пожалуйста разобраться....Нужно следующее:  
В ячейках помимо наименования товара есть еще строки с лишней информацией. Всего в каждой ячейке по 7-8 строк. Наименование товара всегда в 3-ей строке. Мне нужно оставить именно третью строку, а все остальные - удалить.  
Подскажите пожалуйста - как это сделать?
 
Кажется очень просто  
Если без вмешательств VB и вручную то  
Копировать таблицу и вставить в Ворд как текст  
Потом обратно в Эксель а дальше уже по фильтру итд...
With my best regards,      Inter_E
 
Выдделяем нужный диапазон и:  
Public Sub www()  
Dim c As Range, a  
On Error Resume Next  
For Each c In Selection.Cells  
a = Split(c, Chr(10))  
Stop  
c = a(2)  
Next  
End Sub
Я сам - дурнее всякого примера! ...
 
Так. Стоп это для отладки.  
Public Sub www()  
Dim c As Range, a  
On Error Resume Next  
For Each c In Selection.Cells  
a = Split(c, Chr(10))  
c = a(2)  
Next  
End Sub
Я сам - дурнее всякого примера! ...
 
Макрос, работает с выделением  
 
Sub Iren__()  
Dim c As Range, x  
For Each c In Selection.Cells  
   x = Split(c, vbLf, 4)  
   If UBound(x) > 2 Then c = x(2)  
Next  
End Sub
 
{quote}{login=Казанский}{date=30.09.2010 02:00}{thema=}{post}Макрос, работает с выделением  
 
Sub Iren__()  
Dim c As Range, x  
For Each c In Selection.Cells  
   x = Split(c, vbLf, 4)  
   If UBound(x) > 2 Then c = x(2)  
Next  
End Sub{/post}{/quote}  
А я чего написал?:-)
Я сам - дурнее всякого примера! ...
 
Ладно, Серж, ты первый! :)  
Но можно еще короче:  
 
Sub Iren__()  
Dim c As Range  
On Error Resume Next  
For Each c In Selection.Cells  
   c = Split(c, vbLf)(2)  
Next  
End Sub
 
Спасибо огромное!!! Заработало )))))
 
=ПРАВСИМВ(ЛЕВСИМВ(C3;НАЙТИ(")";C3));ДЛСТР(ЛЕВСИМВ(C3;НАЙТИ(")";C3)))-НАЙТИ("/";ПОДСТАВИТЬ(C3;СИМВОЛ(10);"/";2)))
 
Подскажите пожалуйста, как в тексте из 9000 строк удалить каждую вторую и третью
 
Sub Main() 'SAS888  
   Dim x As Range: Set x = [C:C].Find(what:=23.01, LookAt:=xlWhole)
   If x Is Nothing Then Rows("3:" & Rows.Count).Delete _  
   Else Columns(3).ColumnDifferences(x).EntireRow.Delete  
End Sub  
 
 
Не моё :)
 
Чуть ошибся, ну и лучше так:  
 
 
Sub Main()  
   Dim x As Range: Set x = [D:D].Find(what:="Транспортный участок", LookAt:=xlWhole)
   If x Is Nothing Then Rows("1:" & Rows.Count).Delete _  
   Else Columns(4).ColumnDifferences(x).EntireRow.Delete  
End Sub
 
Спасибо, строки удалились. Еще подскажите пожалуйста как сделать, чтобы значения в оставшихся строках не изменялись на #ССЫЛКА!?
 
Замените сперва формулы на значения.  
Вообще, зачем удалять строки макросом? Можно ведь просто отсортировать таблицу по столбцу, в котором ненужные пустоты, и затем удалить вручную группу строк после данных (или перед, смотря как сортировать).  
Это чтоб код не писать.
 
Благодарю за подсказки. Всё ОК!!
Страницы: 1
Читают тему
Наверх