【问题标题】:Copy and Pasting a Dynamic Range based on data entry根据数据输入复制和粘贴动态范围
【发布时间】:2014-02-20 06:24:50
【问题描述】:

您好,我需要一些有关 vba 编码的帮助。

我在工作簿中有工作表,它们的列标题都与日期相同。

有没有办法让数据输入屏幕弹出,用户输入开始复制的第一列的日期,然后再询问要复制的最后一列的结束日期。

我希望 excel 从特定工作表中的数据输入屏幕中找到这两个日期,复制信息,然后将此信息粘贴到从第 4 行到第 34 行的相同列标题中。

(复制和粘贴时行将保持不变,列将根据用户输入而变化)

我可以录制一个宏来复制和粘贴,但我不知道如何使它成为动态的。

希望外面有人有想法。

【问题讨论】:

  • 先尝试(录音可能是一个开始),然后再提出关于您的编码试验和错误的更具体的问题。

标签: vba excel


【解决方案1】:

您可以创建输入框以提示用户输入日期,然后将值传递给定义的变量。

Dim start_date As Date
start_date = InputBox("Please enter the start date:")

用户输入的日期现在存储在名为start_date 的变量中。然后您可以使用函数Find 在您的工作表中搜索此日期的位置。例如

Dim x As Range
With ThisWorkbook.ActiveSheet.UsedRange
    Set x = .Find(start_date, LookIn:=xlValues)
End With

您可以将UsedRange 替换为工作表中您希望对其进行搜索的特定区域。现在,x 是包含用户输入日期的范围(或单元格)。

只需应用相同的概念来查找结束日期,然后将这些信息整合到复制粘贴程序中。

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-21
    • 1970-01-01
    • 1970-01-01
    • 2021-10-03
    • 1970-01-01
    • 2016-08-30
    • 1970-01-01
    相关资源
    最近更新 更多