【问题标题】:VBA to Auto select a range from a manually selected start positionVBA to Auto 从手动选择的起始位置选择一个范围
【发布时间】:2019-07-12 20:25:48
【问题描述】:

好的,大师们,我已经好几个月没有打扰任何人了,我很享受学习体验,但是这个让我很难过。

我正在根据大型货币数据集为我自己的分析创建烛台图。 我将特定的开始日期和时间定位到分钟,并突出显示 5 行,例如 Range(A1:E1),其中包含以下数据 Date&Time、Open、High、Low、Close

所以我现在选择了 A1:E1。

起始范围可以是任何地方,但终点总是比初始位置低 90 行。因此,我通过 shift + page down 手动选择该范围,直到突出显示所需的数据。 示例响(A1:E90)

我多次手动执行此操作。由于我所学到的知识,我已经自动复制并粘贴到特定的目标位置,但上述过程让我很难过。

我在这里寻找可能的答案,并观看了数小时的 youtube vba 视频和谷歌问题,但无济于事。我想出了一些自己笨拙的解决方法,但这应该很容易用代码吗? 我试图通过记录这个过程来做到这一点,它只是给了我范围,而不是它是如何实现的。

我的代码没有任何用处,因为我不知道如何实现它。我目前正在将大小不正确的数据复制到一个命名数组中,然后简单地将数组引用到图表区域,但肯定有一个优雅的解决方案吗?我将包含一个屏幕截图,显示从我正在处理的数据类型中选择的区域。

所以,问题。如何选择 A1 到 E1 的范围,然后让 vba 向下选择指定数量的行,以便现在选择的数据是我想要的全部范围。

【问题讨论】:

    标签: excel vba


    【解决方案1】:
    Sub SelectStuff
    selection.resize(selection.rows.count+90)
    End Sub
    

    【讨论】:

    • 嗨,被骚扰的爸爸。名字真酷!我运行了这个但得到了运行时错误对象不支持这个属性或方法。我目前正在阅读有关 selection resize 属性的一些页面,因此您为我提供了极大的帮助并指出了正确的方向。如果我无法解决问题,我会回来再试一次。感谢您的指点。 :)
    • Selection.Resize(Selection.Rows.Count + 90).SelectSelection.Resize(90).Select(相对/绝对)
    • 谢谢骚扰爸爸和 KekuSemu。我确实设法从 Microsoft 开发站点示例中找出缺失的(选择),所以我学到了一些东西。我已经将其合并并分配给了几个按钮,因此它为我节省了数小时的手动狩猎和啄食。再次感谢两位。最亲切的问候。 :)
    猜你喜欢
    • 1970-01-01
    • 2014-03-04
    • 1970-01-01
    • 2014-12-17
    • 2021-04-29
    • 1970-01-01
    • 2016-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多