2016-10-03 79 views
-1

IM與Excel VBA還挺新的,我需要一些修正與這一個,因爲即時得到一個錯誤,總之我不能使用用戶窗體Excel VBA中添加添加進入到下一行

添加任何數據到我的下一行Excel中這是我的代碼

Private Sub CommandButton1_Click() 
Dim ssheet As Worksheet 


Set ssheet = ThisWorkbook.Sheets("Sheet1") 

nr = ssheet.Cells(Rows.Count, 1).End(x1Up).Row + 1 

ssheet.Cells(nr, 1) = CDate(Me.Label1) 
ssheet.Cells(nr, 2) = Me.ComboBox1 
ssheet.Cells(nr, 3) = Me.ComboBox2 

End Sub 
+1

嘗試'NR = ssheet.Cells(ssheet.Rows.Count,1).END(X1UP).Row + 1'代替'nr = ssheet.Cells(Rows.Count,1).End(x1Up).Row + 1'。另外,嘗試明確編碼。因此,使用'ssheet.Cells(nr,2)= UserForm1.ComboBox1'(或任何名稱)而不是'ssheet.Cells(nr,2)= Me.ComboBox1'。這與您使用'ThisWorkbook'而不是'ActiveWorkbook'的原因相同。但有一個問題:當代碼運行時,UserForm仍然顯示/加載?否則,表單將被清除,'ComboBox1'和所有其他字段將被清空。 – Ralph

+0

你有什麼錯誤? – Brian

+1

xlUp。 xL的。 L.不是1,L.來自鄰居學生監視器的複製代碼可能會產生像這樣的錯誤... – vacip

回答

0

請試試這個:

Private Sub CommandButton1_Click() 
    Dim ssheet As Worksheet 

    Set ssheet = ThisWorkbook.Sheets("Sheet1") 

    nr = ssheet.Range("A1048576").End(xlUp).Row + 1 

    ssheet.Cells(nr, 1) = 1 
    ssheet.Cells(nr, 2) = 2 
    ssheet.Cells(nr, 3) = 3 
    End Sub 
+2

我不認爲'Range(「A1048576」)'比'Cells(Rows.Count,1)'更好。雖然'xlUp'肯定比'x1Up'好。 – vacip