gpt4 book ai didi

excel - 将选择设置为范围

转载 作者:行者123 更新时间:2023-12-03 02:55:55 25 4
gpt4 key购买 nike

有人可以暗示我在这里可能做错了什么吗?现在我正在有效地尝试执行 Ctrl-A 命令来对 vba 中的数据 block 进行全选。然后我希望将该选择保存为一个范围,以便稍后使用它。

Dim rngAdData As Range
.....
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select

Set rngAdData = Selection
Range(rngAdData).AdvancedFilter Action:=xlFilterInPla.... //<----

最后一行给了我一个运行时错误'1004':对象'Global'的方法'Range'失败

当我按照以下方式执行时,它会起作用

Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).AdvancedFilter Action:=xlFilterInPla....

但是这样做很麻烦,因为我需要在这里再次使用该范围

With ActiveWorkbook.Worksheets("....").Sort
.SetRange Range(Selection) //<---

所指向的行给了我同样的错误。

最佳答案

Range(rngAdData) 正在将一个范围提供给一个范围。只需使用rngAdData.AdvancedFilter

你的第二个问题也是同样的想法。请改用此语法。

With ActiveWorkbook.Worksheets("....").Sort
.SetRange Selection

话虽如此,您应该使用除使用 SelectSelection 语句之外的其他方法来获取所需的范围。像这样的东西应该效果更好

Dim rngAdData As Range
Dim sht As Worksheet, bottomMostRow As Long, rightMostColumn As Long
Set sht = ActiveSheet
With sht
bottomMostRow = .Cells(1, 1).End(xlDown).Row
rightMostColumn = .Cells(1, 1).End(xlToRight).Column
Set rngAdData = .Range(.Cells(1, 1), .Cells(bottomMostRow, rightMostColumn))
End With

关于excel - 将选择设置为范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15140786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com