2015-08-24 24 views
3

我有以下形式之前的數據提交給表應完成:填充時的形式被保存三列

http://i.imgur.com/xsXxd7z.jpg

我想這樣的形式完成時它編碼和當點擊保存按鈕時,它會找到列A中的第一個空單元格,並從上面複製公式,我已經成功地做到了這一點,但現在我想要在列B中製作標籤,並像以前一樣從上面複製公式。

然後,然後將該選項卡插入C列,並按照我創建的窗體順序輸入數據到相鄰的單元格中。

這是我的代碼,但我真的在黑暗中!

Private Sub CommandButton2_Click() 
Dim irow As Long 
Dim ws As Worksheet 
Set ws = Worksheets("Master Data") 

NextFree = Range("A10:A" & Rows.Count).Cells.SpecialCells(xlCellTypeBlanks).Row 
Range("A" & NextFree).Select 

' Copy formula from cell above 
    Dim oCell As Range 
     For Each oCell In Selection 
      If (oCell.Value = "") Then 
      oCell.Offset(-1, 0).Copy Destination:=oCell 
      End If 
     Next oCell 

End Sub 

' Move to adjacent cell 
    Sub MoveOver() 
     ActiveCell.Offset(0, 1).Select 
    End Sub 


'Insert data into cells 
Sub LastRow() 
.Offset(1, 0) = ComboBox1.Text 
.Offset(1, 1) = TextBox1.Value 
.Offset(1, 2) = TextBox2.Value 
.Offset(1, 3) = TextBox3.Value 
.Offset(1, 4) = TextBox4.Value 
.Offset(1, 5) = TextBox5.Value 
.Offset(1, 6) = TextBox6.Value 

End Sub 
+0

我不知道這是什麼與圖片做....你不只是試圖複製下一個空與上面的細胞排?我沒有看到與UserForm的關係。 – Davesexcel

+0

好吧..列A + B有一個公式,因爲它們沒有包含在表單中。我已成功設法找到列A末尾的空單元格並將其複製下來。此時代碼的最後一行是「Next oCell」。但是,我無法將它移動到相鄰的列B中並執行相同的操作。然後在列C中我想要表單開始。 – vividillusion

+0

好吧,這真是太棒了,正是我所需要的列A和B,現在我的問題的最後一部分是從窗體中獲取數據到相鄰的列,例如DateTextBox到列C,ProjectTextBox,到列D等。 感謝你的協助! – vividillusion

回答

1

難道這是你要找的東西嗎?

Dim lstRw As Long 
lstRw = Cells(Rows.Count, "A").End(xlUp).Row 
Range("A" & lstRw & ":B" & lstRw).Copy Range("A" & lstRw + 1) 

你可以把它在同一子,如

Dim lstRw As Long 
Dim Rng As Range 
lstRw = Cells(Rows.Count, "A").End(xlUp).Row 
Set Rng = Range("A" & lstRw + 1) 
Range("A" & lstRw & ":B" & lstRw).Copy Range("A" & lstRw + 1) 
With Rng 
    .Offset(, 2) = ComboBox1.Text 
    .Offset(, 3) = TextBox1.Value 
    .Offset(, 4) = TextBox2.Value 
    .Offset(, 5) = TextBox3.Value 
    .Offset(, 6) = TextBox4.Value 
    .Offset(, 7) = TextBox5.Value 
    .Offset(, 8) = TextBox6.Value 
End With 
+0

再次這是太棒了!「我有一個最後的問題,因爲我真的很難得到正確的語法,我有另一個公式,將出現在列J後面的那個範圍內,我想複製下來,然後再有4個數據字段繼續進入K,L,M,N列,所以基本上我想回到第一步,但爲J列,然後對KL,M,N重複第2步...再次感謝您的幫助和耐心!! – vividillusion

+0

您可以複製相同的行,然後只需將每個新行上的列字母更改爲所需內容 – Davesexcel

+0

完美無缺!感謝您的協助。 – vividillusion