Excel VBA - 最后一行的日期
Excel VBA - Date until last row
我目前正在努力实现以下目标:
A 列中有数据(例如,Orange、Apple、Mango),B 列为空。我想实现一个框,在输入日期后它会自动填充一个范围。
到目前为止,这是我的代码:
Public Sub DATERES()
Dim strUserResponse As String
strUserResponse = InputBox("Enter Date")
ActiveSheet.Range("B1:B100").Value = strUserResponse
End Sub
到目前为止一切顺利,但是,我的问题是 A 中的数据有时会在 1 到 500-600 之间变化。因此,我想对其进行修改,以便它首先检查 A 列,并且只在 B 列中输入日期直到最后一行,而不是给它一个更大的范围(如 B1:B1000)。
感谢任何帮助和建议。
祝你有愉快的一天!
Public Sub DATERES()
Dim strUserResponse As String
dim lastrow as long
strUserResponse = InputBox("Enter Date")
lastrow = Cells(Rows.Count,1).end(xlup).row 'the 1 will get the last row for column A. Change if needed
ActiveSheet.Range("B1:B"& lastrow).Value = strUserResponse
End Sub
使用引用的 Sheets
和 Range
比 ActiveSheet
更安全。
' modify "Sheet1" to your sheet's name
With Sheets("Sheet1")
lastrow = .Cells(.Rows.count, 1).End(xlUp).Row ' the 1 will get the last row for column A. Change if needed
.Range("B1:B" & lastrow).Value = strUserResponse
End With
仅供参考,如果您希望 ImputBox
强制用户输入 Date
格式的值,请使用以下行:
Dim strUserResponse As Date
strUserResponse = Application.InputBox("Enter Date", , FormatDateTime(Date, vbShortDate), Type:=1)
我目前正在努力实现以下目标:
A 列中有数据(例如,Orange、Apple、Mango),B 列为空。我想实现一个框,在输入日期后它会自动填充一个范围。
到目前为止,这是我的代码:
Public Sub DATERES()
Dim strUserResponse As String
strUserResponse = InputBox("Enter Date")
ActiveSheet.Range("B1:B100").Value = strUserResponse
End Sub
到目前为止一切顺利,但是,我的问题是 A 中的数据有时会在 1 到 500-600 之间变化。因此,我想对其进行修改,以便它首先检查 A 列,并且只在 B 列中输入日期直到最后一行,而不是给它一个更大的范围(如 B1:B1000)。
感谢任何帮助和建议。
祝你有愉快的一天!
Public Sub DATERES()
Dim strUserResponse As String
dim lastrow as long
strUserResponse = InputBox("Enter Date")
lastrow = Cells(Rows.Count,1).end(xlup).row 'the 1 will get the last row for column A. Change if needed
ActiveSheet.Range("B1:B"& lastrow).Value = strUserResponse
End Sub
使用引用的 Sheets
和 Range
比 ActiveSheet
更安全。
' modify "Sheet1" to your sheet's name
With Sheets("Sheet1")
lastrow = .Cells(.Rows.count, 1).End(xlUp).Row ' the 1 will get the last row for column A. Change if needed
.Range("B1:B" & lastrow).Value = strUserResponse
End With
仅供参考,如果您希望 ImputBox
强制用户输入 Date
格式的值,请使用以下行:
Dim strUserResponse As Date
strUserResponse = Application.InputBox("Enter Date", , FormatDateTime(Date, vbShortDate), Type:=1)