Excel 如何插入一个输入框,要求输入日期,然后在该日期后添加到行中?
我需要代码在找到用户在输入框中输入的日期后添加两行,然后将D列中的值相加。我知道范围行不正确,但我不确定如何在输入日期后插入行。有几件事Excel 如何插入一个输入框,要求输入日期,然后在该日期后添加到行中?,excel,vba,Excel,Vba,我需要代码在找到用户在输入框中输入的日期后添加两行,然后将D列中的值相加。我知道范围行不正确,但我不确定如何在输入日期后插入行。有几件事 您不能为子项命名日期,因为这是一个保留字 无需选择 如果使用Application.Inputbox,则可以控制输入类型(在某种程度上) 假设您正在处理Sheet1,并且您的日期将与用户输入span栏F 子日期查找器() 将ws设置为工作表:设置ws=ThisWorkbook.Sheets(“Sheet1”)“您很可能希望使用Range.Find方法,但这在
日期
,因为这是一个保留字选择
Application.Inputbox
,则可以控制输入类型(在某种程度上)假设您正在处理
Sheet1
,并且您的日期将与用户输入span栏F
子日期查找器()
将ws设置为工作表:设置ws=ThisWorkbook.Sheets(“Sheet1”)“您很可能希望使用Range.Find
方法,但这在很大程度上取决于格式是否正确。在电子表格上,日期是否有时间戳或小数点为0?此外,您不能命名子日期
,因为这是保留字它们没有时间戳,当我输入range.find时,它显示为错误“参数非可选”处理解决方案-保持稳定如何向数据后的第一个空行I添加求和函数,并将其上方的所有内容添加到单元格D4?这是一个完全不同的问题。给它一些时间来尝试弄清楚——如果你做不到,新的问题会得到新的帖子。如果这回答了您在第一篇文章中的问题,您应该接受以下解决方案:)这将找到包含我输入的日期的第一个单元格。如何将其修改为自下而上而不是自上而下?您可以修改范围中的选项。Find
方法。链接将确切地告诉您如何将其发送到哪里如果找不到日期,它将允许用户重试?
Sub date
Dim DTE as Date
MBox = InputBox(“Enter Friday date”)
If IsDate(MBox) Then
DTE = CDate(MBox)
Range(“F” & Rows.Count).End(xlUp).Offset(1).Select
Selection.Insert Shift:=xlDown
Selection.Insert Shift:=xlDown
Else
MsgBox(“This isn’t a date. Try again.”)
End if
End sub
Sub Date_Finder()
Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1") '<-- Update
Dim xInput As Date, Found As Range
xInput = Application.InputBox("Enter Date [mm/dd/yyyy]", Type:=1)
If IsDate(xInput) Then
Set Found = ws.Range("F:F").Find(xInput)
If Found Is Nothing Then
MsgBox "Input not found in range"
Else
Found.Offset(1).EntireRow.Insert (xlShiftDown)
Found.Offset(1).EntireRow.Insert (xlShiftDown)
End If
Else
MsgBox "Invalid Entry. Ending sub" & vbNewLine & "Entry: " & xInput, vbCritical
End If
End Sub