excel - 在工作表的随机部分对命名范围进行排序 - 我们找不到范围引用或定义的名称
问题描述
我从未尝试对不在工作表顶部的数据进行排序,但我有一些格式奇怪的数据,并且无法让“排序”正常工作。我继续收到错误we couldn't find a range reference or a defined name
。
数据如下图所示,我试图从第 18 行开始按标题“方法”然后“数字”对数据进行排序。这张图片中的数据实际上已经按照我想要的方式进行了排序。我已经使用测试SELECT
并且我的命名范围可以正确选择数据,但是我的排序语句失败并出现上述错误。有什么建议么?
代码:
Sub Test()
Dim fRowoffilterqcdata As Integer, lRowoffilterqcdata As Integer, lColoffilterqcdata As Integer
fRowoffilterqcdata = Cells(1, 8).End(xlDown).Row
lRowoffilterqcdata = Get_lRow(ActiveSheet)
lColoffilterqcdata = Cells(fRowoffilterqcdata, Columns.Count).End(xlToLeft).Column
Dim FilteredQCDataRng As Range
Set FilteredQCDataRng = Range(Cells(fRowoffilterqcdata, 1), Cells(lRowoffilterqcdata, lColoffilterqcdata))
FilteredQCDataRng.Select ' This Works
FilteredQCDataRng.Sort key1:="Method", key2:="Number", Order1:=xlDescending, Header:=xlYes ' This Failed
'Call FilterWorksheetHeaderRow(ActiveSheet, fRowoffilterqcdata)
End Sub
解决方案
使用Columns("A:T")
格式时,我可以将“列标题”用作文本,但是当使用命名范围时,我也必须使用“范围”作为键。
例如:
这有效:
Columns("A:T").Sort key1:="Method", key2:="Number", Order1:=xlDescending, Header:=xlYes
但这不会:
FilteredQCDataRng.Sort key1:="Method", key2:="Number", Order1:=xlDescending, Header:=xlYes
这是作品:
FilteredQCDataRng.Sort key1:=Range("B32"), key2:=Range("F32"), Order1:=xlDescending, Header:=xlYes
推荐阅读
- akka - 添加流后流完成
- c# - AseConnection InfoMessage 返回打印语句作为错误消息
- python - Python 脚本自动通过 SSH 连接到服务器,通过端口 9100 远程登录到打印机,运行两个命令并冲洗并重复?
- clips - 我可以在一个事实中有一个 deptemplate
- javascript - CSS 未在 localhost 中加载
- ms-access - MSAccess VBA 外壳:解压缩
- javascript - 嵌套循环并保持索引计数在第二个循环中
- pyvisa - 使用 python 从 tektronix 示波器中获取数据
- python - OpenCV 在 video.read 上返回一个全零数组
- php - 试图在 PHP 中重定向 url