我已遵循this教程
为了处理按钮动作。我想每次单击按钮时都将数据写入新行,但是该代码要么覆盖现有数据,要么将数据写入新行(并再次覆盖)。
代码:
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
。观看
您似乎正在尝试制作一个唯一的标识符(ID)来引用您的记录。但是您要将1添加到下面的空白单元格中:ActiveCell.Value = ActiveCell.Offset(
1 , 0).Value + 1
相反,您应该将1添加到ActiveCell.Value = ActiveCell.Offset(
-1 , 0).Value + 1
上方的单元格的值上
Sheet1.Activate
With Range("B2").End(xlDown).Offset(1, 0)
.Value = .Offset(-1, 0).Value + 1
.Offset(0, 1).Value = txtSifraOsobe.Value
.Offset(0, 2).Value = txtImeIPrezime.Value
.Offset(0, 3).Value = txtAdresa.Value
.Offset(0, 4).Value = cboGrad.Value
.Offset(0, 5).Value = cboDrzava.Value
.Offset(0, 7).Value = txtDatumRodjenja.Value
End With
关于excel - xlDown无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41077505/