我已經關注this教程xlDown按預期工作
爲了處理按鈕操作。我想每次都在新行上寫數據,單擊按鈕時,代碼覆蓋現有數據或將數據寫入新行(並再次覆蓋它)。
代碼:
Private Sub cmdUnesiUBazu_click()
Sheet1.Activate
Range("B2").End(xlDown).Offset(1, 0).Select ' want to start write from C2 cell
ActiveCell.Value = ActiveCell.Offset(-1, 0).Value + 1
ActiveCell.Offset(0, 1).Value = txtSifraOsobe.Value
ActiveCell.Offset(0, 2).Value = txtImeIPrezime.Value
ActiveCell.Offset(0, 3).Value = txtAdresa.Value
ActiveCell.Offset(0, 4).Value = cboGrad.Value
ActiveCell.Offset(0, 5).Value = cboDrzava.Value
ActiveCell.Offset(0, 7).Value = txtDatumRodjenja.Value
End Sub
我不能複製這一點 - 代碼工作對我很好,但實際使用的參考,而不是'ActiveCell'的d'Offset'會更好。 – Comintern
我不明白'ActiveCell.Value = ActiveCell.Offset(1,0).Value + 1'這一行。由於您正在使用'Range(「B2」)。End(xlDown)',這可能是列中的最後一個單元格。爲什麼要從下一個空行取數據。除非你確定它不是空的 – nightcrawler23
如果你想得到列B中的最後一行,你應該使用'Range(「B」&Rows.Count).End(xlUp).Offset(1,0).Select' – nightcrawler23