用文本“ 1”替换单元格中的图像

时间:2019-07-09 06:17:00

标签: excel vba

我有一个Excel,每个单元格中都有1列带有图片的图片,该图片确定了某些内容,但我想将其更改为1。只有1张图片,确切地说,该列是J; Name = PO历史记录/发行说明文档。有人可以帮我用VBA做到这一点吗!

Public Sub Replace_Picture()
Const Replace_Text = "OK"
Dim shp as Shape

For Each shp In ActiveSheet.Shapes
If shp.TopLeftCell.Address = shp.BottomRightCell.Address Then
shp.TopLeftCell.Value = Replace_Text
shp.Delete
End If
Next

Set shp = Nothing
End Sub

我尝试了上面的代码,但是它不起作用,const replace_text为红色。 我只想将带有图片的那些单元格更改为“ 1”,而这些空白将保留为原样。

1 个答案:

答案 0 :(得分:0)

我猜您想从SAP中删除采购订单历史记录形状。 您可以尝试以下VBA代码。 另一种方法是您可以直接从SAP“复制+粘贴”数据,而不是“导出到Excel”

Sub Replace_Shapes()
Dim Shp As Shape
Dim Shp_Address
For Each Shp In ActiveSheet.Shapes
  If Shp.Type = msoPicture Then
     'Identify the address of Shape by TopLeft
     Shp_Address = Shp.TopLeftCell.Address
     Range(Shp_Address) = 1
     Shp.Delete    
  End If Next
End Sub