Удаление на листах определенного диапазона - VBA

Узнай цену своей работы

Формулировка задачи:

Подскажите пожалуйста, как осуществить удаление на листах со 2 по 7 и только 30 столбцов(и только первые 15 сверху строк) после указанного количества столбцов которые надо сохранить (слева на право от столбца А)? - например 10 первых столбцов надо сохранить на листах со 2-7, все остальное надо удалить в диапазоне 30 столбцов и 15 строк сверху
я написал код удаления строк, но нет удобного варианта чтоб просто указываешь количество в какой-то всплывающей таблички при нажатии макроса и все удалялось
Листинг программы
  1. Sub qqq()
  2. i = 8
  3. Sheets("лист2").Range(Cells(1, i + 1), Cells(15, i + 30)).Delete Shift:=xlToLeft
  4. Sheets("лист3").Range(Cells(1, i + 1), Cells(15, i + 30)).Delete Shift:=xlToLeft
  5. Sheets("лист4").Range(Cells(1, i + 1), Cells(15, i + 30)).Delete Shift:=xlToLeft
  6. Sheets("лист5").Range(Cells(1, i + 1), Cells(15, i + 30)).Delete Shift:=xlToLeft
  7. Sheets("лист6").Range(Cells(1, i + 1), Cells(15, i + 30)).Delete Shift:=xlToLeft
  8. Sheets("лист7").Range(Cells(1, i + 1), Cells(15, i + 30)).Delete Shift:=xlToLeft
  9. End Sub
попытался так, не выходит с несколькими листами, только с одной активной
Листинг программы
  1. Sub удаление()
  2. i = Application.InputBox("удаление")
  3. Sheets("лист2").Range(Cells(1, i + 1), Cells(15, i + 30)).Delete Shift:=xlToLeft
  4. Sheets("лист3").Range(Cells(1, i + 1), Cells(15, i + 30)).Delete Shift:=xlToLeft
  5. Sheets("лист4").Range(Cells(1, i + 1), Cells(15, i + 30)).Delete Shift:=xlToLeft
  6. Sheets("лист5").Range(Cells(1, i + 1), Cells(15, i + 30)).Delete Shift:=xlToLeft
  7. Sheets("лист6").Range(Cells(1, i + 1), Cells(15, i + 30)).Delete Shift:=xlToLeft
  8. Sheets("лист7").Range(Cells(1, i + 1), Cells(15, i + 30)).Delete Shift:=xlToLeft
  9. End Sub

Решение задачи: «Удаление на листах определенного диапазона»

textual
Листинг программы
  1. i = Application.InputBox("Удаление", Type:=1)
  2. For c = 2 To 7
  3.     Worksheets("Лист" & c).Cells(1, i + 1).Resize(15, 30).Delete xlToLeft
  4. Next

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.929 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы