您好我需要一些vba编码的帮助。
我在工作簿中有工作表,所有工作表的日期都与列标题相同。
是否有办法弹出数据输入屏幕,用户输入第一列开始复制的日期,然后再询问另一个问题,以便复制最后一列的结束日期。
我希望excel从特定工作表中的数据输入屏幕中找到这两个日期,复制信息,然后将此信息粘贴到从第4行到第34行开始的相同列标题中。
(行将保持不变以进行复制和粘贴,列将根据用户输入而更改)
我可以录制一个宏进行复制和粘贴,但我不确定如何使其动态化。
希望那里有人可能有想法。
答案 0 :(得分:0)
您可以创建输入框以提示用户输入日期,然后将值传递到已定义的变量中。
Dim start_date As Date
start_date = InputBox("Please enter the start date:")
用户现在输入的日期存储在名为start_date
的变量中。然后,您可以使用函数Find
在工作表中搜索此日期的位置。 e.g。
Dim x As Range
With ThisWorkbook.ActiveSheet.UsedRange
Set x = .Find(start_date, LookIn:=xlValues)
End With
您可以将UsedRange
替换为您希望对其进行搜索的工作表中的特定区域。现在,x是包含用户输入日期的范围(或单元格)。
只需应用相同的概念来查找结束日期,然后将这些信息集成到复制粘贴例程中。
希望这会有所帮助!