我有一个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”,而这些空白将保留为原样。
答案 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