範囲内のすべての画像を削除しようとしています。 Iオンライン以下のコードを発見したが、その行に型不一致エラーをスロー:画像を削除するときのVBAタイプの不一致エラー
For Each pic In ws.Pictures
任意の入力または別のコードがはるかに高く評価されています。
Sub clearPics()
Dim s As String
Dim pic As Picture
Dim rng As Range
Set ws = Worksheets("sort")
Set rng = ws.Range("c:c")
For Each pic In ws.Pictures
With pic
s = .TopLeftCell.Address & ":" & .BottomRightCell.Address
End With
If Not Intersect(rng, ws.Range(s)) Is Nothing Then
pic.Delete
End If
Next
End Sub
おかげで、 JJ
私はこの種のコードに常に苦労していますが、それを「Dim pic as Shape」に変更して修正しますか? –
Microsoft worksheet.picturesドキュメントは、それがオブジェクトであることを示しています。私はオブジェクトとしてDimピクチャに変更します。 https://msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.worksheet.pictures(v=vs.120).aspx?cs-save-lang=1&cs-lang=vb#code -snippet-1 – PKatona
@Jeeped、私は 'In ws.Pictures'の部分がそれに対処することを望んでいましたが、完全にテストされていませんでした。 –