• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Sund_zuo
博客园    首页    新随笔    联系   管理    订阅  订阅

你知道excel单元格里面的图片,该怎么删除吗?

​


 

近期呢,工作上是既伤神又伤心的呀,工作中遇到这样一个问题,就是对于Excel表格里面的单元格图片,该怎么删除,如果是全部都删除拿到还是好做的,只是对于指定条件的单元格里的图片该怎么删?下面来看一下我面对的问题:

 

 

首先要根判断数量是否为0,为0的就说明该店铺是没有要这个图片的东西的,所以就需要删除,那么最重要的就需要判断图片的位置,这是前面这个目标的实现上面临的最大的困难。

 

VBA实现

 

Sub 智能删除图片()Dim j As Integerd1 = ActiveSheet.Range("A1048576").End(xlUp).RowFor j = 9 To d1'判断数量是否为0If Range("L" & j).Value = 0 ThenActiveSheet.Rows(j & ":" & j).Select    '对应改行内的图片清除    For Each shp In ActiveSheet.Shapes      If shp.Top >= Selection.Top And shp.Left >= Selection.Left And _        shp.Top <= Selection.Top + Selection.Height And shp.Left <= Selection.Left + Selection.Width Then        shp.Delete      End If    NextSelection.Clear'清楚该列其他内容End IfNextEnd Sub​

 

这串代码可以实现清楚改行所有的内容,包括图片内容

但是结果是这样的:

 

 

所以为了美观一点和内容完整性呢,我们需要将空行去掉,下面的内容上去就可以了。但是因为我这里面不知道客户的要求是不是要将空行删除,因为我这里面只将其隐藏,在上面代码中next下面加上了这串代码:

 

For Each Rng In Range("L9:L" & d1)If Rng.Value = 0 Then Rng.EntireRow.Hidden = TrueNext

 

结果就是这样的:

 

 

可以看见13和15行之间,15和42行之间的那些行就被隐藏了。

今天分享就是这个内容。最近很长一段时间我一直没更新文章,有生病的原因,有工作调动的原因等,不管怎样都是自己懒惰造成的,因此对自己的懒惰表示抱歉。

 

五一小长假怎么安排?

今天来一个互动,那就是五一小长假准备去哪浪?别告诉我你安排被窝接你一下哈,欢迎在评论区,留下你的安排。

 


如果你觉得左左的文章还可以或者你也是一个“正在路上”的人,那么麻烦点一下文末的【好看】,支持一下左左,让更多人了解小鸟数据,让更多人了解数据分析,让更多人学习Python。左左也希望遇到志同道合的你,让我们一起努力,一起向上!

 

 

posted on 2019-04-25 16:42  Sund_zuo  阅读(2149)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3