[ Регистрация · Вход · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: irakitin2014  
Удаление строк по условию (массив)
duzhkovДата: Четверг, 06.06.2019, 09:12 | Сообщение # 1
Рядовой
Группа: Проверенные
Сообщений: 8
Репутация: 0
Статус: Offline
Задача такая - Есть фирмы и менеджеры которые с ними работали(2 столбца). Необходимо удалить все фирмы из списка если они работали с конкретными менеджерами.
Я представляю логику  программы но ни черта не понимаю в синтаксисе, помогите накатить код.

Код
Dim a As Variant
a = Range("A1:B20000")
Е1 и Е2 менеджеры
For k=1 to maxdlin do

if a[k,2] = E1 or a[k,2] = Е2 then


Удалить все строки из таблицы если со значением a[k,1];

Спасибо за помощь, надеюсь понятно выражаюсь.
Прикрепления: 0422618.xlsx (14.1 Kb)


Сообщение отредактировал duzhkov - Четверг, 06.06.2019, 09:44
 
irakitin2014Дата: Четверг, 06.06.2019, 09:21 | Сообщение # 2
Генерал-майор
Группа: Модераторы
Сообщений: 312
Репутация: 6
Статус: Offline
файл пустой. никаких данных


для спасибов ЯД 41001877306852
 
duzhkovДата: Четверг, 06.06.2019, 09:45 | Сообщение # 3
Рядовой
Группа: Проверенные
Сообщений: 8
Репутация: 0
Статус: Offline
Цитата irakitin2014 ()
файл пустой. никаких данных

Извиняюсь, Перелазил.
 
irakitin2014Дата: Четверг, 06.06.2019, 10:12 | Сообщение # 4
Генерал-майор
Группа: Модераторы
Сообщений: 312
Репутация: 6
Статус: Offline
ну как то так, может быть

просто нажать кнопку
Прикрепления: 0422618.xlsm (25.3 Kb)



для спасибов ЯД 41001877306852
 
duzhkovДата: Четверг, 06.06.2019, 10:26 | Сообщение # 5
Рядовой
Группа: Проверенные
Сообщений: 8
Репутация: 0
Статус: Offline
Цитата irakitin2014 ()
ну как то так, может бытьпросто нажать кнопку
Прикрепления: 0422618.xlsm(25.3 Kb)


Спасибо друг, щас разберусь. +реп)

Добавлено (06.06.2019, 10:41)
---------------------------------------------

Цитата irakitin2014 ()
For ii = LatRow To 1 Step -1          If Cells(ii, 2) = krit1 Or Cells(ii, 2) = krit2 Then
                Range(Cells(ii, 1), Cells(ii, 2)).Delete Shift:=xlUp
          End If
        Next

Все работает, с небольшими неточностями, удаляет конкретно строки где работал ненужный менеджер, а необходимо удалить целиком фирму если ненужный менеджер с ней работал. Твой код очень помог, я думаю перед удалением строки нужно вставить цикл где он проверит весь список и удалит по условию. Еще раз спасибо, очень помог, я думаю я справлюсь)
 
irakitin2014Дата: Четверг, 06.06.2019, 10:44 | Сообщение # 6
Генерал-майор
Группа: Модераторы
Сообщений: 312
Репутация: 6
Статус: Offline
код удаляет 2 ячейки. не только фамилию, но и ячейку в столбце А. там где фирма


для спасибов ЯД 41001877306852
 
duzhkovДата: Четверг, 06.06.2019, 10:51 | Сообщение # 7
Рядовой
Группа: Проверенные
Сообщений: 8
Репутация: 0
Статус: Offline
Цитата irakitin2014 ()
код удаляет 2 ячейки. не только фамилию, но и ячейку в столбце А. там где фирма

Например Если менеджер "Антонов" работал с фирмой "Дрынский берег" то нужно удалить все строки с фирмой "дрынский берег"(любое упоминание фирмы).

Твой код не удаляет поля где фирма "Дрынский берег" и другой менеджер.

Добавлено (06.06.2019, 11:08)
---------------------------------------------

Цитата irakitin2014 ()
код удаляет 2 ячейки. не только фамилию, но и ячейку в столбце А. там где фирма

For ii = LatRow To 1 Step -1
                Range(Cells(ii, 1), Cells(ii, 2)).Delete Shift:=xlUp
               End If
Надеюсь поможет
 
irakitin2014Дата: Четверг, 06.06.2019, 11:18 | Сообщение # 8
Генерал-майор
Группа: Модераторы
Сообщений: 312
Репутация: 6
Статус: Offline
а хде это в ТЗ ??? нетути. ловите
Прикрепления: 0422618-1-.xlsm (27.4 Kb)



для спасибов ЯД 41001877306852
 
duzhkovДата: Четверг, 06.06.2019, 11:38 | Сообщение # 9
Рядовой
Группа: Проверенные
Сообщений: 8
Репутация: 0
Статус: Offline
Цитата irakitin2014 ()
Прикрепления: 0422618-1-.xlsm(27.4 Kb)

Спасибо) большое спасибо
 
  • Страница 1 из 1
  • 1
Поиск: