Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Вставить N количество столбцов справа от выделенной ячейки - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Вставить N количество столбцов справа от выделенной ячейки
Aleksander777 Дата: Вторник, 21.01.2025, 13:14 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 76
Репутация: 10 ±
Замечаний: 20% ±

Excel 2024
Добрый день, есть макрос 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
[/vba]

Автор - Aleksander777
Дата добавления - 21.01.2025 в 13:14
NikitaDvorets Дата: Вторник, 21.01.2025, 16:46 | Сообщение № 2
Группа: Авторы
Ранг: Ветеран
Сообщений: 619
Репутация: 143 ±
Замечаний: 0% ±

Excel 2019
Aleksander777, добрый день.
Попробуйте на предварительной модели.
К сообщению приложен файл: insert_colums_to_right_of_acti.xlsm (16.9 Kb)
 
Ответить
СообщениеAleksander777, добрый день.
Попробуйте на предварительной модели.

Автор - NikitaDvorets
Дата добавления - 21.01.2025 в 16:46
Aleksander777 Дата: Вторник, 21.01.2025, 23:45 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 76
Репутация: 10 ±
Замечаний: 20% ±

Excel 2024
Цитата NikitaDvorets, 21.01.2025 в 16:46, в сообщении № 2 ()
Попробуйте на предварительной модели.
К сообщению приложен файл: insert_colums_to_right_of_acti.xlsm (16.9 Kb)


Спасибо огромное очень помогли, все так как нужно)))
 
Ответить
Сообщение
Цитата NikitaDvorets, 21.01.2025 в 16:46, в сообщении № 2 ()
Попробуйте на предварительной модели.
К сообщению приложен файл: insert_colums_to_right_of_acti.xlsm (16.9 Kb)


Спасибо огромное очень помогли, все так как нужно)))

Автор - Aleksander777
Дата добавления - 21.01.2025 в 23:45
Alex_ST Дата: Четверг, 30.01.2025, 09:40 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3219
Репутация: 622 ±
Замечаний: 0% ±

2003
Только лучше добавить после [vba]
Код
n = Application.InputBox("Сколько строк вставлять?", "Запрос количества строк", "", Type:=1)
[/vba] проверку от того,что нажали кнопку "Отмена"[vba]
Код
   If TypeName(n) = "Boolean" Then Exit Sub    ' если нажали "Отмена", то n = False
[/vba]



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеТолько лучше добавить после [vba]
Код
n = Application.InputBox("Сколько строк вставлять?", "Запрос количества строк", "", Type:=1)
[/vba] проверку от того,что нажали кнопку "Отмена"[vba]
Код
   If TypeName(n) = "Boolean" Then Exit Sub    ' если нажали "Отмена", то n = False
[/vba]

Автор - Alex_ST
Дата добавления - 30.01.2025 в 09:40
Alex_ST Дата: Четверг, 30.01.2025, 15:27 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3219
Репутация: 622 ±
Замечаний: 0% ±

2003
Это практически то же, что написал 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]



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Четверг, 30.01.2025, 15:50
 
Ответить
СообщениеЭто практически то же, что написал 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]

Автор - Alex_ST
Дата добавления - 30.01.2025 в 15:27
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!