Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Удаление ячеек с заданным словом - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Удаление ячеек с заданным словом
Valeriy22 Дата: Четверг, 25.01.2018, 15:53 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Доброго дня !
Пришлось тут безуспешно обрабатывать большой объем статистических данных из Рунета, часть которых не нужна для дальнейшей работы.
То есть текстовый файл с числами и словами вставляю в Ехель, получаю длинный столбец данных.
Задачка вроде простейшая, но ума не хватает.
Помогите.

Задача 1ая - Сделать какой макрос, который будет убирать ненужные данные.
Выделяю этот столбец.
Запускаю макрос, который находит слово (не нужное для дальнейшей работы, например "Автомобиль") в ячейке,
содержимое ячейки обнуляется, в смысле делается пустой,
и далее все ячейки, которые ниже этой пустой ячейки, сдвигаются на одну ячейку вверх.
Что-то типа -

[vba]
Код
Sub vvv()
Dim r As Range
For Each r In Selection
If r.Value = "Автомобиль" Then
r.Interior.Color = vbRed
ElseIf Len(r) = 1 Then r.Value = "'0" & r.Value
End If
Next
End Sub
[/vba]

где строки
r.Interior.Color = vbRed
ElseIf Len® = 1 Then r.Value = "'0" & r.Value
надо поменять на операцию сдвинуть нижележащие ячейки вверх на одну ячейку.


Сообщение отредактировал Valeriy22 - Четверг, 25.01.2018, 19:32
 
Ответить
СообщениеДоброго дня !
Пришлось тут безуспешно обрабатывать большой объем статистических данных из Рунета, часть которых не нужна для дальнейшей работы.
То есть текстовый файл с числами и словами вставляю в Ехель, получаю длинный столбец данных.
Задачка вроде простейшая, но ума не хватает.
Помогите.

Задача 1ая - Сделать какой макрос, который будет убирать ненужные данные.
Выделяю этот столбец.
Запускаю макрос, который находит слово (не нужное для дальнейшей работы, например "Автомобиль") в ячейке,
содержимое ячейки обнуляется, в смысле делается пустой,
и далее все ячейки, которые ниже этой пустой ячейки, сдвигаются на одну ячейку вверх.
Что-то типа -

[vba]
Код
Sub vvv()
Dim r As Range
For Each r In Selection
If r.Value = "Автомобиль" Then
r.Interior.Color = vbRed
ElseIf Len(r) = 1 Then r.Value = "'0" & r.Value
End If
Next
End Sub
[/vba]

где строки
r.Interior.Color = vbRed
ElseIf Len® = 1 Then r.Value = "'0" & r.Value
надо поменять на операцию сдвинуть нижележащие ячейки вверх на одну ячейку.

Автор - Valeriy22
Дата добавления - 25.01.2018 в 15:53
Mikael Дата: Четверг, 25.01.2018, 17:37 | Сообщение № 2
Группа: Пользователи
Ранг: Участник
Сообщений: 80
Репутация: 31 ±
Замечаний: 0% ±

Excel 2010
Добрый день!
По пикче не особо понятно, что Вы хотите, и как делаете. Приложите файл-пример.

Чтобы удалить ячейку со сдвигом вверх, используйте r.Delete Shift:=xlUp
надо поменять на операцию сдвинуть нижележащие ячейки вверх на одну ячейку.
 
Ответить
СообщениеДобрый день!
По пикче не особо понятно, что Вы хотите, и как делаете. Приложите файл-пример.

Чтобы удалить ячейку со сдвигом вверх, используйте r.Delete Shift:=xlUp
надо поменять на операцию сдвинуть нижележащие ячейки вверх на одну ячейку.

Автор - Mikael
Дата добавления - 25.01.2018 в 17:37
Valeriy22 Дата: Четверг, 25.01.2018, 19:07 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Mikael,

[vba]
Код
Sub vvv()
Dim r As Range
For Each r In Selection
If r.Value = "Автомобиль" Then
r.Delete Shift:=xlUp
ElseIf Len(r) = 1 Then r.Value = "'0" & r.Value
End If
Next
End Sub
[/vba]

Работает !! Спасибо


Сообщение отредактировал Valeriy22 - Четверг, 25.01.2018, 19:12
 
Ответить
СообщениеMikael,

[vba]
Код
Sub vvv()
Dim r As Range
For Each r In Selection
If r.Value = "Автомобиль" Then
r.Delete Shift:=xlUp
ElseIf Len(r) = 1 Then r.Value = "'0" & r.Value
End If
Next
End Sub
[/vba]

Работает !! Спасибо

Автор - Valeriy22
Дата добавления - 25.01.2018 в 19:07
krosav4ig Дата: Четверг, 25.01.2018, 20:38 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
до кучи
[vba]
Код
Sub vvv()
    With Selection
        .Replace "Автомобиль", "=xx1", xlWhole
        Intersect([xx1].Dependents, .Cells).Delete xlUp
        With .SpecialCells(xlCellTypeConstants, 1)
            Set r = .Find("?", , xlValues, xlWhole, Searchformat:=False)
            Do While Not r Is Nothing
                r.Formula = Format(r, "'00")
                Set r = .FindNext(r)
            Loop
        End With
    End With
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениедо кучи
[vba]
Код
Sub vvv()
    With Selection
        .Replace "Автомобиль", "=xx1", xlWhole
        Intersect([xx1].Dependents, .Cells).Delete xlUp
        With .SpecialCells(xlCellTypeConstants, 1)
            Set r = .Find("?", , xlValues, xlWhole, Searchformat:=False)
            Do While Not r Is Nothing
                r.Formula = Format(r, "'00")
                Set r = .FindNext(r)
            Loop
        End With
    End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 25.01.2018 в 20:38
Valeriy22 Дата: Четверг, 25.01.2018, 21:50 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
krosav4ig, Спасибо !!
 
Ответить
Сообщениеkrosav4ig, Спасибо !!

Автор - Valeriy22
Дата добавления - 25.01.2018 в 21:50
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!