Vba InputBox中的值未添加到正确的单元格中
我试图将输入框中的输入值添加到单独工作表中的特定列中。数据确实会添加到工作表中,但不会添加到第一个单元格中。它在单元格A26中添加了数据输入,我不知道为什么 代码是这样的:我在哪里遗漏了什么Vba InputBox中的值未添加到正确的单元格中,vba,excel,Vba,Excel,我试图将输入框中的输入值添加到单独工作表中的特定列中。数据确实会添加到工作表中,但不会添加到第一个单元格中。它在单元格A26中添加了数据输入,我不知道为什么 代码是这样的:我在哪里遗漏了什么 Private Sub CommandButton1_Click() Dim strDate$ Dim lngLstRow&, strLength&, lngSpaceLoc& Dim sw1 As Boolean If MsgBox("Volume already plann
Private Sub CommandButton1_Click()
Dim strDate$
Dim lngLstRow&, strLength&, lngSpaceLoc&
Dim sw1 As Boolean
If MsgBox("Volume already planned?", vbYesNo + vbQuestion, _
"RIntegration") = vbYes Then
MsgBox "OK, " & _
"no further approval is needed", vbOKOnly, "Approval O.K"
Else
strTenderDate = InputBox("Enter the Date.", "Specify Date")
With Sheets("Sheet2")
lngLstRow = .UsedRange.Rows.Count + .UsedRange.Row
.Range("A" & lngLstRow).Value = strTenderDate
End With
MsgBox "Date successfully added to the database!", vbExclamation + vbOKOnly, "Added!"
End If
如何指定单元格A1应作为列表的起点
还有一种方法可以在开头添加一行代码,自动删除以前的条目,而无需将删除代码添加到其他按钮?如果它应该始终使用A1,则只需写入即可
.Range("A1").Value = strTenderDate
看起来前25行中仍然有数据。你能试着手动删除这些行吗?我想你是在找这个:
With Sheets("Sheet2")
lngLstRow = .Cells(.Rows.count, 1).End(xlUp).Row
If .Cells(lngLstRow, 1) <> vbNullString Then lngLstRow = lngLstRow + 1
.Cells(lngLstRow, 1).Value = strTenderDate
End With
带图纸(“图纸2”)
lngLstRow=.Cells(.Rows.count,1).End(xlUp).Row
如果.Cells(lngLstRow,1)vbNullString,则lngLstRow=lngLstRow+1
.Cells(lngLstRow,1).Value=strEnderDate
以
天哪,这很快就解决了。现在我觉得自己很愚蠢。谢谢@托马斯,你尝试过这个解决方案吗?@Thomas,如果你能给那些试图帮助你的人提供反馈,那就太好了。非常感谢。哦,我很抱歉没有回答。是的,这对我也有效,但我选择了另一种解决方案,因为它稍微短一点。我明白了。这两种解决方案之间的真正区别(以及我的解决方案更长一点的原因)是,我的解决方案总是捕获a列中最后一个非空单元格之后的第一个空单元格。但是如果您不需要此功能并且总是想在A1单元格中写入,那么我的解决方案就有点过头了。我最终会使用您的代码,因为这让我可以选择创建数据输入的历史记录。我很高兴你发布了这个,因为它似乎非常有用!再次感谢!