Вставка строки на основе пользовательского ввода на нескольких листах

#excel #excel-2010 #vba

#excel #excel-2010 #vba

Вопрос:

Excel 2010 Ищет макрос для вставки строк на основе пользовательского ввода. Пользователь предоставляет номер строки для вставки строки.

  1. На основе пользовательского ввода — строка для вставки на нескольких листах (учетные записи, процесс, данные … и т. Д.) Имеет 19 листов
  2. Скопируйте формулу и формат из строки выше и автоматически заполните вниз.

До сих пор удалось получить приведенный ниже код для одного листа на основе выбора ячейки

Надеюсь получить некоторые ответы…

 Sub Insert_Row()
    If Selection.Rows.Count > 1 Then Exit Sub
    With Selection
        .EntireRow.Copy
        .Offset(1).EntireRow.Insert
        Application.CutCopyMode = False
        On Error Resume Next
        .Offset(1).EntireRow.SpecialCells(xlCellTypeConstants).ClearContents
        On Error GoTo 0
    End With
End Sub
  

Ответ №1:

Отредактировано:

 Sub Insert_Row()
    Dim SelRow as Integer, i as Integer, j as Integer
    If Selection.Rows.Count > 1 Then Exit Sub
    SelRow = Selection.Row
    On Error Goto nonNumeric
    j = InputBox("What row to insert data into?", "Pick a row")
    On Error GoTo 0
    GoTo NumericEntry

nonNumeric:
    On Error GoTo 0
    MsgBox("Please try again with a number.")
    Exit Sub

NumericEntry:
    For i = 1 to 19
        Sheets(1).Select
        Rows(SelRow).copy
        Sheets(i).Select
        Rows(j).Insert
        On Error Resume Next
            Rows(j).SpecialCells(xlCellTypeConstants).ClearContents
        On Error GoTo 0
    Next i
End Sub
  

Комментарии:

1. Да, строки одинаковы на всех 19 листах. Согласно первоначальному вопросу, для пользовательского ввода должно появиться всплывающее окно с вопросом, после какого номера строки должна быть вставлена новая строка? На основе пользовательского ввода — необходимо вставить новую строку на все 19 листов и формулу автоматического заполнения и форматирования на всех 19 листах

2. Обновлен мой предыдущий комментарий.

3. Получение ошибки времени выполнения «1004» — Строка, которая должна быть вставлена на нескольких листах (учетные записи, процесс, данные … и т. Д.), Имеет 19 листов