Vba InputBox中的值未添加到正确的单元格中

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

我试图将输入框中的输入值添加到单独工作表中的特定列中。数据确实会添加到工作表中,但不会添加到第一个单元格中。它在单元格A26中添加了数据输入,我不知道为什么

代码是这样的:我在哪里遗漏了什么

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单元格中写入,那么我的解决方案就有点过头了。我最终会使用您的代码,因为这让我可以选择创建数据输入的历史记录。我很高兴你发布了这个,因为它似乎非常有用!再次感谢!