【发布时间】:2023-03-14 15:00:01
【问题描述】:
我一直在四处寻找好的示例,但找不到我需要的。
这里是上下文:该代码用于包含大约 50 个供应商的销售跟踪器工作表(他们每个人都可以增加价值,而且他们中的大多数人对 Excel 一无所知)。
我想选择第一个空单元格(他们可以输入的第一个值是 B5,而不是更高,因为表格顶部包含一些说明)。事实上,从这个单元格(日期值在 B 列,从第 5 行开始),第二个日期值在 B6 中
Add the Date (date or now) as activecell.value
Then 2 cells to the right activecell.offset(0,2)
And insert the value of the textbox (their ID).
现在,我可以添加日期和文本框 ID。
这是我到目前为止所拥有的:
Sub CommandButton1_click()
Dim Input_ID As String, Date_in As String
Date_in = Format(Now, "DD-MMM")
ActiveCell.Value = Date_in
Input_ID = InputBox("SVP entré votre ID ", "Data Entry Form")
ActiveCell.Offset(0, 2) = Input_ID
End Sub
但是是否可以使该命令/按钮仅适用于“B”列?因为我没有为他们添加一个日期和他们的 ID 到另一个列。
PS:我或多或少是从 VBA 开始的,我到处学习一点,所以如果你可以添加您的代码中有一些解释,我很感激。谢谢
Edit1:从评论发帖
Sub Date_insert_click()
Dim Input_ID As String, Date_in As String
Dim ws As Worksheet
Set ws = ActiveSheet 'change to your actual worksheet
'Dim Date_in As Date
Date_in = Format(Now, "DD-MMM")
With ws.Range("B" & ws.Rows.Count).End(xlUp)
If .Row >= 4 Then .Offset(1, 0).Value = Date_in Else Exit Sub
Input_ID = InputBox("SVP entré votre ID ", "Data Entry Form")
If Input_ID <> "" Then .Offset(1, 1).Value = Input_ID Else .Offset(1, 0).Value = ""
End With
End Sub
但我发现了一个弱点。如果我选择像K378 这样的单元格,
我仍然可以添加值(date_In 或输入框的值),但看不到它,因为单元格未处于活动状态。
【问题讨论】: