Добрый день, есть макрос VBA для вставки N-го количества строк (выводится сообщение куда вводится нужное количество) вниз после выделенной ячейки. Мне нужно подкорректировать сделать почти тоже самое, но только для столбцов, нужно: чтобы вставлялись столбцы справа от выделенной ячейки. Просьба помочь с решением. Заранее спасибо)
[vba]
Код
Sub Вставить_N_количество_строк_после_выделенной_ячейки()
Dim b As Range, i&
For Each b In Selection.Areas
n = Application.InputBox("Сколько строк вставлять?", "Запрос количества строк", "", Type:=1) On Error Resume Next
For i = b.Rows.Count To 1 Step -1 b.Cells(i + 1).Resize(n).EntireRow.Insert Shift:=xlDown Next Next End Sub
[/vba]
Добрый день, есть макрос VBA для вставки N-го количества строк (выводится сообщение куда вводится нужное количество) вниз после выделенной ячейки. Мне нужно подкорректировать сделать почти тоже самое, но только для столбцов, нужно: чтобы вставлялись столбцы справа от выделенной ячейки. Просьба помочь с решением. Заранее спасибо)
[vba]
Код
Sub Вставить_N_количество_строк_после_выделенной_ячейки()
Dim b As Range, i&
For Each b In Selection.Areas
n = Application.InputBox("Сколько строк вставлять?", "Запрос количества строк", "", Type:=1) On Error Resume Next
For i = b.Rows.Count To 1 Step -1 b.Cells(i + 1).Resize(n).EntireRow.Insert Shift:=xlDown Next Next End Sub
Это практически то же, что написал NikitaDvorets, но без лишних операций и с "защитой от дурака":[vba]
Код
Sub ВСТАВИТЬ_СТОЛБЦЫ() ' добавить N столбцов справа от ActiveCell Dim N ' объявляем N As Variant, т.к. Application.InputBox может вернуть значения разного типа N = Application.InputBox("Сколько столбцов вставить?", "Запрос количества столбцов", "1", Type:=1) If CInt(N) = 0 Then Exit Sub ' если нажали "Отмена", то n = False, тогда CInt(n) = 0 или просто ввели 0 ActiveCell.Resize(1, N).EntireColumn.Offset(0, 1).Insert ' добавить N столбцов ActiveCell.Resize(1, N).EntireColumn.Offset(0, 1).ClearFormats ' убрать форматирование End Sub
[/vba]
Это практически то же, что написал NikitaDvorets, но без лишних операций и с "защитой от дурака":[vba]
Код
Sub ВСТАВИТЬ_СТОЛБЦЫ() ' добавить N столбцов справа от ActiveCell Dim N ' объявляем N As Variant, т.к. Application.InputBox может вернуть значения разного типа N = Application.InputBox("Сколько столбцов вставить?", "Запрос количества столбцов", "1", Type:=1) If CInt(N) = 0 Then Exit Sub ' если нажали "Отмена", то n = False, тогда CInt(n) = 0 или просто ввели 0 ActiveCell.Resize(1, N).EntireColumn.Offset(0, 1).Insert ' добавить N столбцов ActiveCell.Resize(1, N).EntireColumn.Offset(0, 1).ClearFormats ' убрать форматирование End Sub