2013-09-30 6 views
0

Я записал макрос для создания столбцов в таблице, которую я хочу использовать, теперь я хочу вводить элементы в каждой строке. Я нашел этот кусок кода, который будет задавать для числа строк ввода и отображения, что много пустых строк:Как редактировать строки в Excel-VBA - Генерация тестовых данных

Dim j As Long, r As Range 
j = InputBox("type the number of rows to be insered") 
Set r = Range("A2") 
Do 
Range(r.Offset(1, 0), r.Offset(j, 0)).EntireRow.Insert 
Set r = Cells(r.Row + j + 1, 1) 
MsgBox r.Address 
If r.Offset(1, 0) = "" Then Exit Do 
Loop 

Я задавался вопросом, как именно (где в цикле?) Я могу вставить вещи в эти строки на основе столбцы у меня есть? Какая функция позволяет мне это?

+0

Гипотетически перед сегментом 'Set r = Cells (r.Row + j + 1,1)' вы можете вводить любые нужные вам ссылки и делать там вещи. Что именно вы хотите сделать? Вы можете «вставлять вещи» через ссылки где угодно. –

+0

Как у меня есть идентификаторы столбцов, имя, фамилия, дата рождения. Так что, как для имени столбца, я хочу как случайное имя, выбранное из массива имен? ... дата рождения (случайные даты в диапазоне дат), случайное число, не повторяемое для id. – Thatdude1

+0

@JoeLaviano точно, как мне связать его с каждым столбцом? – Thatdude1

ответ

1

Я думаю, что вы ищете что-то вроде этого

Sub tgr() 

    Dim InsertCount As Long 
    Dim rIndex As Long 

    InsertCount = Int(Application.InputBox("Type the number of rows to be inserted", "Insert Rows", Type:=1)) 
    If InsertCount <= 0 Then Exit Sub 'Pressed cancel, or entered a negative number 

    For rIndex = Cells(Rows.Count, "A").End(xlUp).Row To 3 Step -1 
     Rows(rIndex).Resize(InsertCount).Insert 
     With Cells(rIndex, "A").Resize(InsertCount) 
      MsgBox .Address 

      ''''''''''''''''''''''''''''''''''''''''''''''''''' 
      '             ' 
      ' Code goes here to insert data into column A ' 
      '             ' 
      ''''''''''''''''''''''''''''''''''''''''''''''''''' 

     End With 
    Next rIndex 

End Sub 

Вы можете добавить дополнительные секции из With Cells(rIndex, ... с разными буквами столбцов для вставки данных в этих столбцах.

+0

Итак, если бы я хотел, чтобы вся колонка А была «Боб» в «Кодексе идет здесь», я бы сделал что-то вроде «Ячейки (rIndex, 2) .Value =« BOB »'? – Thatdude1

+0

Если вы хотите, чтобы вся колонка А была «Боб» (и только во вновь вставленных строках), вы заменили поле комментариев «Код идет здесь» с помощью. .Value = «Bob» ' – tigeravatar

Смежные вопросы