2016-09-11 1 views
-4

У меня есть таблица Excel, содержащая таблицу. Я хочу иметь возможность вставлять заданное количество строк в зависимости от значения, вставленного в конкретную ячейку. Поэтому, если значение равно «3», оно будет вставлять 3 строки, если значение равно «6», оно будет вставлять 6 строк и так далее. Я не знаю, как справиться с этой проблемой. Может ли кто-нибудь помочь мне решить эту проблему?Как вставить строки на основе значения ячейки в excel

+0

Для этого вам нужна vba. Добавлены теги. Но нам нужна дополнительная информация. Как насчет примера? До и после. – Andreas

+0

@ Krishan Kavinda, если вы хотите привлечь внимание людей и получить ответы на свои сообщения, вам нужно предоставить дополнительную информацию, структуру ваших данных (скопировать с какого листа, диапазона, в какой диапазон). также, совместное использование попыток вашего кода увеличит ваши шансы –

+0

в моем случае Я хочу добавить количество видов овощей, и пользователь должен добавить номер. чтобы число ниже строк должно быть изменено –

ответ

1

при условии:

  • ячейка "A1" является тот, в котором вы бы принимать пользовательский ввод

  • строка будет вставлена ​​прямо под ячейкой "A1"

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

Private Sub Worksheet_Change(ByVal Target As Range) 
    If Selection.Count > 1 Then Exit Sub '<-| exit if edited cell is part of a selection larger than 1 cell 

    With Target '<-- reference changed cell 
     If .Address = "$A$1" Then '<--| proceed if it is the "Rows n° to add" cell (change "$A$1" to your actual relevant cell address) 
      If IsNumeric(.Value) Then '<--| proceed if it contains a numeric value 
       If CLng(.Value) > 0 And CLng(.Value) < 3 Then '<--| proceed if its value fits some numeric range (change range bounds to you actual needs) 
        .Offset(1).Resize(CLng(.Value)).EntireRow.Insert 
       End If 
      End If 
     End If 
    End With 
End Sub 

см. Комментарии относительно того, где вы можете настроить проверку ввода пользователя