首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >宏可以使用单元格引用删除单元格的内容。

宏可以使用单元格引用删除单元格的内容。
EN

Stack Overflow用户
提问于 2014-03-08 13:32:10
回答 2查看 249关注 0票数 1

我有一个要删除的单元格的引用列表。参考资料的列表在表格"test_url“中。引用列表指向要删除的单元格,这些单元格位于另一个工作表"main_lists“中。

我想要的是一个宏,它接受"test_url“表中列出的所有引用,并在"main_lists”工作表中选择它们的单元格并删除它们。

下面的宏是我为两个引用记录的内容,只是为了演示我的问题,它要求我从"test_url“工作表复制引用,然后将其粘贴到"main_urls”工作表的NameBox中,以选择指定单元格的内容,然后删除其内容。这个过程是手动完成的,每次一个单元格的列表包含10-20个地址/引用。然而,最近这份名单上有2000多个条目,而且还在增加:

代码语言:javascript
运行
复制
Sub DeletePermittedCells()
'DeletePermittedCells Macro
Sheets("test_urls").Select
Range("B2").Select
Sheets("test_urls").Select
Selection.Copy
Sheets("main_lists").Select
Application.Goto Reference:="R200045C1"
Application.CutCopyMode = False
Selection.ClearContents
Sheets("test_urls").Select
Range("B3").Select
Selection.Copy
Sheets("main_lists").Select
Application.Goto Reference:="R247138C1"
Application.CutCopyMode = False
Selection.ClearContents
Sheets("test_urls").Select
End Sub

有人能帮忙解决这个问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-08 13:47:10

试试这个:

代码语言:javascript
运行
复制
Sub DeletePermittedCells()
    Dim rng As Range
    Dim arr, c

    With Sheets("test_urls")
        'storing data in array makes your code much faster
        arr = .Range("B2:B" & .Cells(.Rows.Count, "B").End(xlUp).Row).Value
    End With

    With Sheets("main_lists")
        Set rng = .Range(arr(1, 1))
        For Each c In arr
            Set rng = Union(rng, .Range(c))
        Next
    End With

    rng.ClearContents
End Sub

将地址存储在数组中(而不是直接从工作表读取每个单元格)可以使您的代码更快。

注意,代码假定您的地址存储在range B2:B & lastrow中,其中lastrow -是最后一行单元格,数据在B列中。

票数 2
EN

Stack Overflow用户

发布于 2014-03-08 13:50:16

这假设要清除的单元格列表是列A

代码语言:javascript
运行
复制
Sub ClearCells()
    Dim s1 As Worksheet, s2 As Worksheet
    Dim N As Long, I As Long, addy As String
    Set s1 = Sheets("test_url")
    Set s2 = Sheets("main_lists")
    N = s1.Cells(Rows.Count, "A").End(xlUp).Row
    For I = 1 To N
        addy = s1.Cells(I, 1).Value
        s2.Range(addy).ClearContents
    Next I
End Sub
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22269998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档