excel - 运行 VBA 字符串以删除唯一重复项时出现运行时错误
问题描述
所以我最初询问如何根据区分大小写来删除唯一重复项(请参考下面的链接: Excel: Removing Duplicates Based On Case Sensitivity
最终我被引导到以下链接:
如何删除 Excel 中区分大小写的重复项(对于 10 万条或更多记录)?
这次我使用列 q 来测试公式,到目前为止,以下公式有效:
Sub duptest()
Sheets("Analysis").Select
Dim x, dict
Dim lr As Long
lr = Cells(Rows.Count, 1).End(xlUp).Row
x = Range("Q1:Q100000" & lr).Value
Set dict = CreateObject("Scripting.Dictionary")
For i = 1 To UBound(x, 1)
dict.Item(x(i, 1)) = ""
Next i
Range("Q1:Q100000" & lr).ClearContents
Range("Q1").Resize(dict.Count).Value = Application.Transpose(dict.keys)
End Sub
但是,我的问题是,我希望范围是整个 Q 列,但是在进行以下更改时:
Sub duptest()
Sheets("Analysis").Select
Dim x, dict
Dim lr As Long
lr = Cells(Rows.Count, 1).End(xlUp).Row
x = Range("Q:Q" & lr).Value
Set dict = CreateObject("Scripting.Dictionary")
For i = 1 To UBound(x, 1)
dict.Item(x(i, 1)) = ""
Next i
Range("Q:Q" & lr).ClearContents
Range("Q1").Resize(dict.Count).Value = Application.Transpose(dict.keys)
End Sub
我收到一条错误消息,指出“运行时错误'1004':对象'_Global'的方法'范围'失败
我以为我会很可爱并设置范围“Q1:Q1000000”,但我最终遇到了同样的错误。任何建议将不胜感激。我不希望这反映在整个工作簿或工作表上,我希望这仅发生在 Q 列中。
为新手问题道歉。
解决方案
推荐阅读
- jquery - 使用 jquery 将值分配给最接近的 tr
- sql - 根据sqlite中的天数获取日期,获取过去7个日期和未来14个日期
- angular - matTooltip,在 *ngFor 内渲染时未在正确位置显示,并且 TR > TD
- html - 如何使表格的最后一行向下填充剩余空间
- php - 是否可以从 laravel 5.7 中清除用户浏览器的旧 cookie(laravel_session、XSRF_TOKEN)
- linux - sed 命令复制替换两次
- android-studio - Google Play 要求应用程序以 API 级别 29 或更高版本为目标,如果我想编译 SDK 版本 26 怎么办?
- python - 显示 100 个 mnist 数据集
- ocaml - OCaml 中的 Do Notation
- windows - 詹金构建失败。在 Windows 7 32 位上运行