我已经关注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