2013-09-30 34 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,名字,姓氏,出生日期。就像列名一樣,我想要從名稱數組中選擇一個隨機名稱? ...出生日期(日期範圍內的隨機日期),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

因此,如果我想在「Code goes here」中將列A中的所有列都設爲「Bob」,那麼我會執行類似「Cells(rIndex,2).Value =」BOB「'? – Thatdude1

+0

如果您希望列A的所有內容都是「Bob」(並且只在新插入的行中),那麼您將用'.Value =「Bob」替換「Code goes here」評論框。 – tigeravatar