powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Удаление найденного диапазона
19 сообщений из 19, страница 1 из 1
Удаление найденного диапазона
    #36467282
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здраствуйте
Подскажите правильный код
Как произвести удаление найденной строки переменной i столбца 26 удаление 31-ной ячейки (то есть все)

Cells(i, 26 & ":" & i + 30).Clear
...
Рейтинг: 0 / 0
Удаление найденного диапазона
    #36467332
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segail,

Немного по-другому. Переменная (i) это найденная ячейка, от нее влево на -1 ячейку и вниз на 30 (включая все 30 ячеек с найденной ячейкой, значит 31) удалить.

Так что ли?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Private Sub ComboBox1_Change()

    
    Dim i As Integer
    
    For i =  1  To  1000 
        
        If Cells(i,  27 ).Text = ComboBox1.Text Then
        Rows(i, - 1  & ":" & i +  30 ).Select
        Selection.Delete Shift:=xlUp
        End If
    Next
End Sub
...
Рейтинг: 0 / 0
Удаление найденного диапазона
    #36467343
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segail, отвечаю,насколько понял вопрос. Это надо?
Код: plaintext
1.
If Cells(i,  27 ).Text = ComboBox1.Text Then _
    Union(Cells(i,  27 ), Cells(i,  27 ).Offset(, - 1 ).Resize( 30 )).Delete Shift:=xlUp
...
Рейтинг: 0 / 0
Удаление найденного диапазона
    #36467348
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlth,

Данное условие If Cells(i, 27).Text = ComboBox1.Text Then нахождение нужной ячейки столбца 27 по совпадению текста с текстом ComboBox1.Text
Поле нахождения нужной ячейки переход в лево на одну от найденной и вниз на 30, то есть все 31, затем удалить.
...
Рейтинг: 0 / 0
Удаление найденного диапазона
    #36467362
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segail,
Для полного понимания
...
Рейтинг: 0 / 0
Удаление найденного диапазона
    #36467365
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segail, найденная ячейка удаляется? Или 31 - это ячейки в столбце слева от найденной?
...
Рейтинг: 0 / 0
Удаление найденного диапазона
    #36467367
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё, последний вопрос снят - вижу.
...
Рейтинг: 0 / 0
Удаление найденного диапазона
    #36467370
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
If Cells(i, 27).Text = ComboBox1.Text Then _
Cells(i, 27).Offset(, -1).Resize(31).Delete Shift:=xlUp
...
Рейтинг: 0 / 0
Удаление найденного диапазона
    #36467371
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlthIf Cells(i, 27).Text = ComboBox1.Text Then _
Cells(i, 27).Offset(, -1).Resize(31).Delete Shift:=xlUp

Resize(31) наверное 30
в лево от найденной это превая и зо вниз уже 31???
...
Рейтинг: 0 / 0
Удаление найденного диапазона
    #36467376
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segail, если боитесь удалить лишнее (да и для проверки, с тем ли диапазоном Вы работаете, в других случаях), выделяйте диапазон при тестировании своего кода
Код: plaintext
1.
If Cells(i,  27 ).Text = ComboBox1.Text Then _
    Cells(i,  27 ).Offset(, - 1 ).Resize( 31 ).Select
...
Рейтинг: 0 / 0
Удаление найденного диапазона
    #36467443
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlth,
При использования Select все нормально идет нужное выделение
При выполнении .Delete Shift:=xlUp идут сбои по основному коду ошибки в ячейках и так далее, короче не пойму в чем дело.
Может использовать Clear при Clear вроде все нормально
Код: plaintext
Cells(i,  27 ).Offset(, - 1 ).Resize( 31 ).Clear
Такой вариант нормальный?
...
Рейтинг: 0 / 0
Удаление найденного диапазона
    #36467447
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segail, почему - нет? - конечно, нормальный вариант.
...
Рейтинг: 0 / 0
Удаление найденного диапазона
    #36467562
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlth,
А как проверить диапазон от минус 27 тридцать одну ячейку и если найдено значение больше “” то удалить данное значение (то есть удалять не полностью а выборочно).
Код: plaintext
If Cells(i,  27 ).Offset(, - 1 ).Resize( 31 ).Value>”” Then Cells(i,  27 ).Offset(, - 1 ).Resize( 31 ).Clear
...
Рейтинг: 0 / 0
Удаление найденного диапазона
    #36467731
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segail, например, так:
Код: plaintext
Cells(i,  27 ).Offset(, - 1 ).Resize( 31 ).SpecialCells(xlCellTypeConstants).Clear
...
Рейтинг: 0 / 0
Удаление найденного диапазона
    #36467873
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlth,
Благодарю
...
Рейтинг: 0 / 0
Удаление найденного диапазона
    #36468530
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segail,
Здравствуйте.
Подскажите как создать условие без переменной
1) .Cells(2, 27).Text Поиск ячейки с текстом со строки 2 по 444 столбца 27, по совпадению текста с ячейкой .Range("AA1").Text
2) Минус от найденной ячейки в лево, затем тридцать одну ячейку очистить.
.Cells(2, 27).Text = Sheets("Отчет").Range("AA1").Text Then .Cells(, 27).Offset(, -1).Resize(31) = ""
...
Рейтинг: 0 / 0
Удаление найденного диапазона
    #36468785
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segail
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Dim oRange As Range
With Sheets("Отчет").Columns( 27 )
    If Not IsEmpty(.Cells( 1 ,  1 )) Then
        Set oRange = .Rows( 2  & ":" &  444 ).Find _
            (.Rows( 1 ), LookIn:=xlValues, LookAt:=xlWhole)
    End If
End With
If Not oRange Is Nothing Then oRange.Offset( 0 , - 1 ).Resize( 31 ) _
    .SpecialCells(xlConstants).Clear
Set oRange = Nothing
...
Рейтинг: 0 / 0
Удаление найденного диапазона
    #36693027
Фотография A_Cross
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а как найти и удалить ячейку если слева и справа ее пусто?

Например в таблице Excel есть, ну допустим в ячейке С3 дата (01.02.2010), причём B3 и D3 пустые
и в ячейке К125 есть дата (05.06.2010), причем J125 и L125 также пустые.

Суть вопроса:подскажите код VBA чтобы найти в масиве данных(на листе) ячейку с датой причем в рядом находящихся ячейках справа и слева должна быть пустота(null)
...
Рейтинг: 0 / 0
Удаление найденного диапазона
    #36693041
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A_Cross,

Перебрать все ячейки на предмет поиска даты.
проверять соседние можно с помощью .OffSet
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Удаление найденного диапазона
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]