【问题标题】:Passing the previosly selected range cells in a spreasheet to VBA focus to work with将电子表格中先前选择的范围单元格传递给 VBA 焦点以使用
【发布时间】:2018-12-20 00:45:45
【问题描述】:

我想制作一个 VBA 宏来格式化一组先前选择的单元格,但我无法将选定的范围传递给 VBA,有人可以帮帮我吗?

【问题讨论】:

  • 你是什么意思can not pass the selected range to VBA你能分享你尝试过的代码吗?
  • 你能举出你当前的代码和数据的例子吗?
  • 例如我选择一组单元格,比如说“B3:J10”,我需要用边框和颜色格式化所有单元格,我想让它运行一个宏。
  • 使用 With Selection 并使用该选择做您想做的事情并使用 End With 完成
  • Sub Macro2() a = ActiveCell.CurrentRegion.Address End Sub

标签: vba select range


【解决方案1】:

第一个 sub 将向您显示您选择的范围,尽管我认为您不需要知道范围(它已被选中),因此您应该对底部的两个 sub 更感兴趣。

您可以使用任一方法更改您的选择。 (With 块或直接限定范围)

Sub ShowRange()

MsgBox (Selection.Address(False, False))

End Sub

请注意,With 块将使用范围限定每种格式

Sub Method1()

With Selection
    .Font.Size = 16
    .Interior.Color = RGB(255, 0, 0)
End With

End Sub

如果没有With 块,您将需要使用范围(Selection) 直接限定每种格式。

Sub Method2()

Selection.Font.Size = 10
Selection.Interior.Color = RGB(255, 0, 0)

End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多