Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1016|回复: 3

[已解决]VBA 每次点运作如何清除之前内容

[复制链接]
发表于 2022-6-2 10:50 | 显示全部楼层 |阅读模式
VBA 每次点运作如何清除之前内容,代码如下,谢谢!

Sub test()
Dim arr, d
    Set d = CreateObject("Scripting.Dictionary")
    arr = Sheet9.Range("B21:C" & Sheet9.Range("B65536").End(3).Row)

    For i = 1 To UBound(arr)
      If Not d.exists(arr(i, 1)) Then
          d(arr(i, 1)) = arr(i, 2)
      Else
          d(arr(i, 1)) = d(arr(i, 1)) & arr(i, 2)
      End If
    Next

    Sheet8.[B19:C19] = Array("唯一值", "机台")
    r = 20
    For Each i In d.keys()
        Sheet8.Cells(r, 2) = i
        Sheet8.Range(Sheet8.Cells(r, 2), Sheet8.Cells(r + 2, 2)).Merge
        Sheet8.Cells(r, 3) = d.Item(i)
        Sheet8.Range(Sheet8.Cells(r, 3), Sheet8.Cells(r + 2, 3)).Merge
        r = r + 3
    Next
    Set d = Nothing
End Sub

最佳答案
2022-6-6 19:51
本帖最后由 楚雪飞扬 于 2022-6-6 19:53 编辑

这个也是可以清空当前单元格内容
Sheet8.Range("C1:G11") = ""
Sheet8.Range("C1:G11").ClearContents '清空数据不清空格式


发表于 2022-6-6 18:54 | 显示全部楼层
本帖最后由 hasyh2008 于 2022-6-6 18:56 编辑

在前面加一句

sheet8.range("B18:C1000").clear
是这意思吗?
回复

使用道具 举报

发表于 2022-6-6 19:51 | 显示全部楼层    本楼为最佳答案   
本帖最后由 楚雪飞扬 于 2022-6-6 19:53 编辑

这个也是可以清空当前单元格内容
Sheet8.Range("C1:G11") = ""
Sheet8.Range("C1:G11").ClearContents '清空数据不清空格式


回复

使用道具 举报

发表于 2022-6-9 12:40 | 显示全部楼层
楚雪飞扬 发表于 2022-6-6 19:51
这个也是可以清空当前单元格内容
Sheet8.Range("C1:G11") = ""
Sheet8.Range("C1:G11").ClearContents ' ...

学习了。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-6 03:36 , Processed in 0.288090 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表