Макрос для добавления строк в excel по условию

0 / 0 / 0

Регистрация: 10.12.2011

Сообщений: 42

1

Макрос на добавление строки при условии

06.09.2012, 13:52. Показов 10897. Ответов 3


Студворк — интернет-сервис помощи студентам

Добрый день!
подскажите пож:
нужно написать макрос, чтобы добавлялась строка, при условии что:
например идут ячейки
1
1
1
2
2
3
3
нужно чтобы строка добавлялась между 1-кой и 2-кой или 2-кой и 3-кой



0



Busine2012

1300 / 402 / 22

Регистрация: 21.10.2011

Сообщений: 1,285

06.09.2012, 14:30

2

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Sub Procedure_1()
 
    Dim lLastRow As Long
    Dim i As Long
    
    'Определение последней заполненной ячейки в столбце A.
    lLastRow = Cells(Rows.Count, "A").End(xlUp).Row
    
    'Отключаем обновление монитора, чтобы код быстро работал.
    Application.ScreenUpdating = False
    
    'Двигаемся от первой строки до предпоследней заполненной строки в столбце A.
    For i = 1 To lLastRow - 1 Step 1
        If Cells(i, "A").Value <> Cells(i + 1, "A").Value Then
            Rows(i + 1).Insert Shift:=xlDown
            'Увеличиваем i, т.к. надо перескочить теперь через строку.
            i = i + 1
        End If
    'Next тоже увеличивает i.
    Next i
    
    'Включаем обновление монитора.
    Application.ScreenUpdating = True
    
    'Вывод сообщения о завершении работы кода.
    MsgBox "Работа кода завершена!", vbInformation
 
End Sub



1



Все имена заняты

1250 / 408 / 52

Регистрация: 14.06.2009

Сообщений: 629

06.09.2012, 16:41

3

Busine2012, но ведь уже при
1
2
3
4
такой макрос не отработает.

Мой вариант:

Visual Basic
1
2
3
4
5
6
7
8
9
10
Sub test()
Dim cll As Range
For Each cll In ActiveSheet.Range("A1").CurrentRegion.Cells
    If cll.Row > 1 Then
        If cll.Value <> cll.Offset(-1, 0).Value And Not IsEmpty(cll.Offset(-1, 0).Value) Then
            cll.EntireRow.Insert
        End If
    End If
Next
End Sub



2



Busine2012

1300 / 402 / 22

Регистрация: 21.10.2011

Сообщений: 1,285

06.09.2012, 16:48

4

Код в сообщении #2 нерабочий, вот правильный вариант:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Sub Procedure_1()
 
    Dim lLastRow As Long
    Dim i As Long
    
    'Определение последней заполненной ячейки в столбце A.
    lLastRow = Cells(Rows.Count, "A").End(xlUp).Row
    
    'Отключаем обновление монитора, чтобы код быстро работал.
    Application.ScreenUpdating = False
    
    'Двигаемся от последней заполненной строки до второй строки в столбце A.
    For i = lLastRow To 2 Step -1
        If Cells(i, "A").Value <> Cells(i - 1, "A").Value Then
            Rows(i).Insert Shift:=xlDown
        End If
    Next i
    
    'Включаем обновление монитора.
    Application.ScreenUpdating = True
    
    'Вывод сообщения о завершении работы кода.
    MsgBox "Работа кода завершена!", vbInformation
 
End Sub



1



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

06.09.2012, 16:48

Помогаю со студенческими работами здесь

Нужен макрос удаляющий значения в диапазоне ячеек при условии
Подскажите как переделать макрос стирающий в заданном диапазоне ячеек все значения,и заливку…

Макрос, который перебирает диапазон ячеек и при условии выводит текст
Здравствуйте, помогите сделать макрос.
На странице Результат мониторинга нужно пройтись по…

Создать макрос, отрабатывающий при условии, что активна определенная ячейка
Нужно сделать так: если ячейка А1 активна, то Range(&quot;B2&quot;).clearcontents. Прошу вас, подскажите, как…

Макрос, что бы при определенном условии закрашивались ячейки в необходимый цвет
Здравствуйте, необходимо написать программу или макрос, что бы при определенном условии…

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

4

Добавление строк в зависимости от условия

ILYA_SERGEEVICH_1987

Дата: Четверг, 06.09.2018, 20:37 |
Сообщение № 1

Группа: Пользователи

Ранг: Новичок

Сообщений: 10


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

Доброго времени суток подскажите как можно решить задачу по автоматическому добавлению строк при определённых условия. Есть определённый массив данных на Листе 1 (Примера) данные могут повторяться. На Листе 2 сведён другой массив данных вся загвоздка заключается что строк на Листе №2 может быть и 2 и 10 и 50 строк с одинаковыми значением для поиска. В результате данных манипуляций должны получить таблицу Лист 3 (сводную) куда добавлены данные по определённому алгоритму, а именно сведена таблица из листа №1 и в зависимости от того сколько имеется строк на листе №2 с определённым искомым значением столько строк и должно быть добавлено в сводную, данные в Листе 1 и 2 могут постоянно меняться или обновляться в зависимости от этого Лист №3 так же должен меняться по вышеперечисленному алгоритму. Подскажите как можно решить данную задачу, через стандартные функции решения найти не смог, если оно есть будет очень хорошо. Дума что через VBA решение должно быть точно. Заранее спасибо.

К сообщению приложен файл:

7807303.xlsx
(10.7 Kb)

 

Ответить

Pelena

Дата: Пятница, 07.09.2018, 08:23 |
Сообщение № 2

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

Здравствуйте.
Можно формулами подтянуть во вторую таблицу значения из первой и построить сводную.
Или с помощью PowerPivot объединить таблицы и построить сводную.


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

ILYA_SERGEEVICH_1987

Дата: Пятница, 07.09.2018, 19:10 |
Сообщение № 3

Группа: Пользователи

Ранг: Новичок

Сообщений: 10


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

Здравствуйте. Спасибо что ответили. Честно говоря не умею пользоваться сводными таблицами, или может быть всё решать через функции и макросы привык. Обязательно конечно научусь пригодится. Но проблема в том что таблицей предстоит пользоваться «чайникам» в EXCEL. Им нужно просто вставить 2 отчета в определённые листы и должны получить третий. Какие либо действия с их стороны могут привести к фатальным ошибкам ввиду низкой компетенции.

 

Ответить

_Igor_61

Дата: Понедельник, 10.09.2018, 20:58 |
Сообщение № 4

Группа: Проверенные

Ранг: Ветеран

Сообщений: 504


Репутация:

90

±

Замечаний:
0% ±


Excel 2007

Здравствуйте! Проверяйте:

Сообщение отредактировал _Igor_61Понедельник, 10.09.2018, 21:23

 

Ответить

ILYA_SERGEEVICH_1987

Дата: Среда, 10.10.2018, 18:35 |
Сообщение № 5

Группа: Пользователи

Ранг: Новичок

Сообщений: 10


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

Огромное спасибо то что нужно, если не затруднит выложите оба макроса с комментариями что за что отвечает, дальше я уже сам додумаю все

 

Ответить

doc-insert-row-based-on-value-1

Предположим, у вас есть диапазон данных, и вы хотите автоматически вставлять пустые строки выше или ниже определенного значения в Excel, например, автоматически вставлять строки ниже нулевого значения, как показано ниже. В Excel нет прямого способа решить эту задачу, но я могу ввести код макроса для автоматической вставки строк на основе определенного значения в Excel.
Вставить строку ниже на основе значения ячейки с помощью VBA

Вставьте строку выше на основе значения ячейки с помощью Kutools for Excel хорошая идея3


Чтобы вставить строку на основе значения ячейки, запустив VBA, выполните следующие действия:

1. Нажмите Alt + F11 одновременно, а Microsoft Visual Basic для приложений окно выскакивает.

2. Нажмите Вставить > Модули, затем вставьте ниже код VBA во всплывающий Модули окно.

VBA: вставьте строку ниже на основе значения ячейки.

Sub BlankLine()
	'Updateby20150203
	Dim Rng As Range
	Dim WorkRng As Range
	On Error Resume Next
	xTitleId                   = "KutoolsforExcel"
	Set WorkRng                = Application.Selection
	Set WorkRng                = Application.InputBox("Range", xTitleId, WorkRng.Address, Type: = 8)
	Set WorkRng                = WorkRng.Columns(1)
	xLastRow                   = WorkRng.Rows.Count
	Application.ScreenUpdating = False
	For xRowIndex = xLastRow To 1 Step - 1
		Set Rng                   = WorkRng.Range("A" & xRowIndex)
		If Rng.Value = "0" Then
			Rng.Offset(1, 0).EntireRow.Insert Shift: = xlDown
		End If
	Next
	Application.ScreenUpdating = True
End Sub

3. Нажмите F5 ключа или Run нажмите кнопку, появится диалоговое окно и выберите столбец, содержащий ноль. Смотрите скриншот:
doc-insert-row-based-on-value-2

4. Нажмите OK. Тогда пустые строки будут вставлены ниже нулевого значения.
doc-insert-row-based-on-value-3

Функции:

1. Если вы хотите вставить строки на основе другого значения, вы можете изменить 0 на любое значение, которое вы хотите в VBA: Если Rng.Value = «0», то.

2. Если вы хотите вставить строки выше нуля или другого значения, вы можете использовать приведенный ниже код vba.

VBA: вставить строку выше нулевого значения:

Sub BlankLine()
	'Updateby20150203
	Dim Rng As Range
	Dim WorkRng As Range
	On Error Resume Next
	xTitleId                   = "KutoolsforExcel"
	Set WorkRng                = Application.Selection
	Set WorkRng                = Application.InputBox("Range", xTitleId, WorkRng.Address, Type: = 8)
	Set WorkRng                = WorkRng.Columns(1)
	xLastRow                   = WorkRng.Rows.Count
	Application.ScreenUpdating = False
	For xRowIndex = xLastRow To 1 Step - 1
		Set Rng                   = WorkRng.Range("A" & xRowIndex)
		If Rng.Value = "0" Then
			Rng.EntireRow.Insert Shift: = xlDown
		End If
	Next
	Application.ScreenUpdating = True
End Sub

doc-insert-row-based-on-value-4


Если вы не знакомы с VBA, вы можете попробовать Kutools for Excel‘s Выбрать определенные ячейки утилита, а затем вставьте строки выше.

После установки Kutools for Excel, пожалуйста, сделайте следующее:(Бесплатная загрузка Kutools for Excel Сейчас!)

1. Выберите список, из которого вы хотите найти определенные ячейки, и нажмите Кутулс > Выберите > Выбрать определенные ячейки. Смотрите скриншот:
doc вставить строку на основе значения 9

2. В появившемся диалоговом окне отметьте Весь ряд вариант, а затем перейдите, чтобы выбрать Равно от Конкретный тип список, а затем введите значение, которое вы хотите найти, в правом текстовом поле. Смотрите скриншот:
doc вставить строку на основе значения 6

3. Нажмите Ok, и появится диалоговое окно, напоминающее количество выбранных строк, просто закройте его.

4. Поместите курсор в одну выбранную строку и щелкните правой кнопкой мыши, чтобы выбрать Вставить из контекстного меню. Смотрите скриншот:
doc вставить строку на основе значения 7

Теперь строки вставляются выше на основе определенного значения.
doc вставить строку на основе значения 8


Относительные статьи:

  • Вставить пустые строки в Excel

Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (43)


Оценок пока нет. Оцените первым!

В данном практическом примере приведен код макроса для умной вставки пустых строк между ячейками. Пошаговая инструкция как вставлять строки между объединенными и необъединенными ячейками одновременно для любой таблицы.

Макрос для вставки строк с определенной высотой

В таблице отчета по продажам в розничных точках содержаться объединенные ячейки, как показано ниже на рисунке:

Исходная таблица.

Необходимо экспонировать группы ячеек для каждого штата. Для этого мы добавим по одной пустой строке между каждой группой розничных точек. При этом не имеет значение будет ли содержать группа объединенные ячейки или нет. Ведь некоторые группы состоят из одной строки. А также дополнительно уменьшим высоту этих пустых строк, чтобы внешний вид таблицы был стильным. Выполнить вручную все эти действия: выделение отдельных групп ячеек, вставка между ними пустых строк, а потом изменение высоты для этих же строк – это не рационально использование сил и времени. Особенно если таблица имеет десятки тысяч строк. Лучше написать свой макрос, который сам автоматически и молниеносно выполнит эту рутинную работу за Вас.

Перейдите в режим редактора макросов Visual Basic (ALT+F11):

Basic.

Создайте в нем новый модуль с помощью инструмента: «Insert»-«Module». А потом запишите в него VBA-код самого макроса:

Sub VstavkaStrok()
Dim i As Long
Dim pustroka As Long
For i = Selection.Rows.Count To 2 Step -1
pustroka = Selection(i, 1).Row + 1
ActiveSheet.Rows(pustroka).Insert xlShiftDown
ActiveSheet.Rows(pustroka).RowHeight = 7
ActiveSheet.Rows(pustroka).Borders(xlInsideVertical). _
LineStyle = xlLineStyleNone
ActiveSheet.Rows(pustroka).Borders(xlEdgeLeft). _
LineStyle = xlLineStyleNone
ActiveSheet.Rows(pustroka).Borders(xlEdgeRight). _
LineStyle = xlLineStyleNone
ActiveSheet.Rows(pustroka).Interior. _
ColorIndex = xlColorIndexNone
i = i - Selection(i, 1).MergeArea.Rows.Count + 1
Next
End Sub

VBA code.

Теперь если мы хотим вставить по одной пустой строке между каждой объединенной и необъединенной ячейкой, которые находиться в столбце A? Тогда а в таблице отчета по продажам выделяем диапазон ячеек A:D18 и запускаем наш макрос выбрав инструмент: «РАЗРАБОТЧИК»-«Код»-«Макросы»-«VstavkaStrok»-«Выполнить». После запуска макроса таблица будет выглядеть как показано на рисунке:

Пример.

Сначала в коде объявлены две переменные:

  1. i – переменная выполняет роль счетчика в цикле.
  2. pustroka – переменная будет хранить в себе очередной номер для каждой строки выделенного диапазона.

В макросе находиться цикл, который запускает целый ряд инструкций для каждой строки в выделенном диапазоне ячеек. Направление цикла идет с нижней строки выделения к верхней.

  1. В первой инструкции мы присваиваем для переменной pustroka номер строки которая находиться под текущей строкой.
  2. Следующая инструкция добавляет пустую строку с высотой в 7 пикселей.
  3. Удаляются в добавленной строке все вертикальные границы, а также заливка.
  4. Уменьшается значение переменной i на количество строк, которые охватывает текущая объединенная ячейка, находящаяся в первом столбце выделенного диапазона.



Умная вставка строк с помощью макроса

Если же мы хотим экспонировать только самые большие группы. Допустим Вы желаете сделать так, чтобы макросом были вставлены пустые строки только после объединенных ячеек в столбце A, которые охватывают много строк. И не вставлять пустые строки после необъединенных ячеек или тех объединенных ячеек, которые охватывают не более 1-ой строки. Тогда после строки в коде макроса где описано начало цикла добавляем строку кода с условной инструкцией:

If Selection(i, 1).MergeArea.Rows.Count <> 1 Then

Также перед инструкцией конца цикла Next следует вставить инструкцию конца условия – End If.

Обратите внимание! Параметр условия для игнорирования объединенных ячеек с определенным количеством озвучиваемых строк можно будет даже настраивать, изменяя число после оператора сравнения.

Такая модификация кода макроса внутри цикла будет следить за тем применять ли ряд инструкций к текущей строке или игнорировать их на данном этапе прохода по срокам. Если же текущая строка не содержит необъединенной ячейки или объединенная ячейка охватывает более чем 1-ну строку, тогда для нее применяться все инструкции форматирования. Полная версия модифицированного года выглядит так:

Sub VstavkaStrok1()
Dim i As Long
Dim pustroka As Long
For i = Selection.Rows.Count To 2 Step -1
  If Selection(i, 1).MergeArea.Rows.Count <> 1 Then
  pustroka = Selection(i, 1).Row + 1
  ActiveSheet.Rows(pustroka).Insert xlShiftDown
  ActiveSheet.Rows(pustroka).RowHeight = 7
  ActiveSheet.Rows(pustroka).Borders(xlInsideVertical). _
  LineStyle = xlLineStyleNone
  ActiveSheet.Rows(pustroka).Borders(xlEdgeLeft). _
  LineStyle = xlLineStyleNone
  ActiveSheet.Rows(pustroka).Borders(xlEdgeRight). _
  LineStyle = xlLineStyleNone
  ActiveSheet.Rows(pustroka).Interior. _
  ColorIndex = xlColorIndexNone
  i = i - Selection(i, 1).MergeArea.Rows.Count + 1
  End If
Next
End Sub

Результат автоматического форматирования таблицы отчета с учетом новых условий в коде макроса:

Умная вставка.

Как видите с помощью макросов таблицы любых объемов данных можно форматировать в один клик мышкой.

Добрый день!
Возник вопрос, связанный с темой

задача следующего плана, нужно вставить некоторое кол-во строк в зависимости от значения в ячейках колонки А

например
1 — вставить ниже 1 строку
4 — вставить ниже к строки
0 — ничего не менять

спасибо


Вот как пример в ячейку I3 надо писать кол-во строк.


ничего не понял из этого файла, нужно не из одной ячейки сделать вставку и перебрать диапазон


ну я и написал что вот как пример, а как сделать в VBA не знаю.


Цитата: iron priest от 30.05.2012, 11:52
задача следующего плана, нужно вставить некоторое кол-во строк в зависимости от значения в ячейках колонки А

Вот рецепт:

Sub SHD_AddRows()
  LR = Cells(Rows.Count, 1).End(xlUp).Row
  For i = LR To 1 Step -1
    If Val(Cells(i, 1)) > 0 Then
      Rows(i + 1 & ":" & i + Cells(i, 1)).Insert
    End If
  Next
End Sub

Знания недостаточно, необходимо применение. Желания недостаточно, необходимо действие. (с) Брюс Ли


Цитата: Шпец Докапыч от 31.05.2012, 15:37

Цитата: iron priest от 30.05.2012, 11:52
задача следующего плана, нужно вставить некоторое кол-во строк в зависимости от значения в ячейках колонки А

Вот рецепт:
Sub SHD_AddRows()
  LR = Cells(Rows.Count, 1).End(xlUp).Row
  For i = LR To 1 Step -1
    If Val(Cells(i, 1)) > 0 Then
      Rows(i + 1 & ":" & i + Cells(i, 1)).Insert
    End If
  Next
End Sub

А как сделать что бы из другой колонки брал?


Может как то так

Option Explicit
Sub SHD_AddRows()
 Dim ColN As Integer, LR As Long, i As Long
 ColN = 3 'номер колонки для поиска количества строк
 LR = Cells(Rows.Count, ColN).End(xlUp).Row 'Определяем номер последней строки
 For i = LR To 1 Step -1 'Идем цыклом снизу вверх чтоб не вызвать зацыкливания
   If Val(Cells(i, ColN)) > 0 Then 'проверяем значение из ячейки на условие больше нуля
     Rows(i + 1 & ":" & i + Cells(i, ColN)).Insert 'вставляем строки
   End If
 Next
End Sub

Прошу прощения у Шпец Докапыч, а то влез тут со своими комментариями в его интеллектуальную собственность   ;)

Не пытайтесь спорить с дебилом. Иначе вы опуститесь до его уровня. Где он задавит вас своим опытом.


Цитата: Poltava от 31.05.2012, 22:12
Может как то так
Option Explicit
Sub SHD_AddRows()
 Dim ColN As Integer, LR As Long, i As Long
 ColN = 3 'номер колонки для поиска количества строк
 LR = Cells(Rows.Count, ColN).End(xlUp).Row 'Определяем номер последней строки
 For i = LR To 1 Step -1 'Идем цыклом снизу вверх чтоб не вызвать зацыкливания
   If Val(Cells(i, ColN)) > 0 Then 'проверяем значение из ячейки на условие больше нуля
     Rows(i + 1 & ":" & i + Cells(i, ColN)).Insert 'вставляем строки
   End If
 Next
End Sub

Прошу прощения у Шпец Докапыч, а то влез тут со своими комментариями в его интеллектуальную собственность   ;)

Еще одна нескромная просьба, можно сделать так что бы он работал в двух режимах, удалял строки и добавлял строки согласно цифрам в столбце, то что делал целый день с помощью этого кода сделал за 40 минут :)


А как это должно быть ??? макрос проверяет и если числа отрицательные удаляет, либо два разных макроса один удаляет другой добавляет и тут уже без отрицательных чисел можно. либо макрос будет вызываться из другой процедуры и при вызове в качестве параметра будет идти добавлять или удалять строки ??? Да и вообще удаление строк это более ответственный процесс! тут нужно понимать что делать если в удаляемой строке есть информация либо если удалить нужно строки которые дальше могли использоваться в общем тут больше проверок нужно о которых только вы знаете.
Ну а в общем случае попробуйте заменить .Insert на .Delete

Не пытайтесь спорить с дебилом. Иначе вы опуститесь до его уровня. Где он задавит вас своим опытом.


Цитата: Poltava от 01.06.2012, 11:17
А как это должно быть ??? макрос проверяет и если числа отрицательные удаляет, либо два разных макроса один удаляет другой добавляет и тут уже без отрицательных чисел можно. либо макрос будет вызываться из другой процедуры и при вызове в качестве параметра будет идти добавлять или удалять строки ??? Да и вообще удаление строк это более ответственный процесс! тут нужно понимать что делать если в удаляемой строке есть информация либо если удалить нужно строки которые дальше могли использоваться в общем тут больше проверок нужно о которых только вы знаете.
Ну а в общем случае попробуйте заменить .Insert на .Delete

Ну можно просто сделать два макроса один прибавляет другой удаляет, числа положительные.Нужно затем , что таблица сводная меняется постоянно и ,что бы не корячится с удалением и добавлением легче сделать через макрос. С .Delete, работает вроде в противоположную сторону как .Insert так что всё пучком! Всем спасибо кто откликнулся, сильно облегчили труд.


Понравилась статья? Поделить с друзьями:
  • Макрос для добавления новой строки в excel
  • Макрос для добавления листа в excel
  • Макрос для добавления данных excel
  • Макрос для динамического диапазона в excel
  • Макрос для разъединения ячеек в excel