【问题标题】:Excel copy values to next available cells in a rangeExcel将值复制到范围内的下一个可用单元格
【发布时间】:2015-03-05 10:53:25
【问题描述】:

我正在处理电子表格,但找不到与我正在寻找的答案足够接近的答案,而且我的 VBA 知识相当基础。

我有一个电子表格来跟踪谁在哪个团队中,我想要一个“主列表”并从 F 列的下拉列表中选择员工要进入的团队。我会喜欢然后将单元格 C、D 和 E 复制到为该团队指定的范围内的下一个可用单元格中,例如员工 A 显示在 Team1 的团队列表中,但现在已移至 Team2,所以我希望他们成为从 Team1 的范围集中删除,并移至 Team2 的范围集中的下一个可用单元格(理想情况下重新使用范围内的值)。这两张表被命名为“Names”和“Teams List”。

这是否可能,尤其是对于 VBA 的基本了解?

问候,

Cr1kk0

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    如果(比如)单元格A1 包含您的下拉列表,其中包含值Team1Team2 等,并且存在名为Team1、Team2 等的相应范围,则:

    Dim myRange as Range
    Set myRange = Range(Range("A1").Value)
    

    myRange定义为下拉列表当前值选择的范围。

    要引用范围内的单个单元格,请使用Cells 属性,例如:

    myRange.Cells(3, 1).Value = "Fred Bloggs"
    

    指向 myRange 的第三行第一列的单元格。

    要查找范围内的值,请使用(例如):

    pos = Application.WorksheetFunction.Match("Fred Bloggs", myRange, 0)
    

    它返回内容与“Fred Bloggs”完全匹配的单元格在 myRange 中的位置(但如果没有这样的单元格,则会出错)。

    【讨论】:

    • 感谢 nekomatic。抱歉,我忘了扩大范围。我可以在列中找到下一个可用单元格,但是范围我的意思是我要复制到的工作表中的单元格是 a1-a12,命名为 range1,单元格 a17-a25 是 range2,单元格 c13-c20 是范围3
    • 看看我的编辑,希望这能解决你真正想要的吗?
    • 感谢 nekomatic!将发布进展情况
    猜你喜欢
    • 1970-01-01
    • 2015-10-03
    • 2014-06-08
    • 2019-03-14
    • 2019-11-22
    • 1970-01-01
    • 2017-02-06
    • 2020-08-25
    • 1970-01-01
    相关资源
    最近更新 更多