当前位置: 首页 > 知识库问答 >
问题:

每当表头出现在工作表[重复]上时,VBA列不会删除

欧阳狐若
2023-03-14

我将一张纸复制粘贴到另一张纸上,但数据量总是变化的。每当我粘贴时,在工作表的末尾会出现一列标记为“总计”的内容,但它会把另一个工作表上的数据弄乱,所以我想删除它。它从第二个代码中删除,但不从第一个代码中删除。我需要你帮我弄明白为什么第一个不起作用。

 Set RidGrTotal = Range("B1:AH3000")
    isum.Sheets("pivot custom").Activate
    For Each cell In RidGrTotal
        If cell.Value = "Grand Total" Then cell.EntireColumn.ClearContents
    Next  

    Set RidGrandTotal = Range("B1:AH3000")
    isum.Sheets("Pivot to MW").Activate
    For Each cell In RidGrandTotal
        If cell.Value = "Grand Total" Then cell.EntireColumn.ClearContents
    Next

共有1个答案

房星光
2023-03-14

适当地限定您的范围,您就可以避免依赖activate以及由隐式限定等引起的所有问题:

Dim cell as Range
Dim addr = "B1:AH3000"


For Each cell In isum.Sheets("pivot custom").Range(addr)
    If cell.Value = "Grand Total" Then cell.EntireColumn.ClearContents
Next  

For Each cell In isum.Sheets("Pivot to MW").Range(addr)
    If cell.Value = "Grand Total" Then cell.EntireColumn.ClearContents
Next
 类似资料:
  • 这里的结果是错误的,我不确定为什么。请帮忙

  • 这是保存列表的功能,有什么方法可以让我将列表保存在数据库中,并跳过现有的列表,这样它就会与现有的列表重复。 下面是我保存列表的SQL

  • 这里是VBA新手。 谢谢你的教育!

  • 问题内容: 如果想基于每个嵌套列表的第一个元素评估重复项,谁能提出一个好的解决方案从嵌套列表中删除重复项? 主列表如下所示: 如果已经在第一位置出现了另一个具有相同元素的列表,那么我想删除该列表并得到以下结果: 您可以建议一种算法来实现此目标吗? 问题答案: 您是否关心保留订单/删除了哪些重复项?如果不是,则: 会做的。如果您想保留订单并想保留第一个订单,则:

  • 问题内容: 我想从列表列表中删除所有重复列表。 所以我有一个这样的清单清单。 我希望有: 我不知道该怎么办。 谢谢 问题答案: 您可以使用一组: 或者,如果您更喜欢列表推导/生成器: 最后,如果顺序很重要,则可以始终对b进行排序:

  • 问题内容: 我想遍历一个列表,并删除计数超过一次的项目,这样它们就不会被for循环重复打印。 但是,列表中仅出现一次的某些项目似乎也受此影响,我不知道为什么。 任何投入将不胜感激。 示例输出: 输出: 因此完全忽略了4和5。 问题答案: 遍历列表时,请勿修改列表。这应该工作: 结果是: