• 締切済み

シート上のすべての画像を削除するには?

エクセルのシート上のすべての画像を削除するには? 図のようにヤフーのトップページをコピーしてエクセルに貼り付けました。 その際画像も一緒に張り付いてしまいますが、 その画像をすべて消すVBAコードを教えてください。 Sub シートの全てのハイパーリンクを削除する() ActiveSheet.Hyperlinks.Delete End Sub これで、ハイパーリンクは消えるので、画像バージョンが知りたいです。 よろしくお願いします。

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

割と安直に。 sub macro1()  activesheet.hyperlinks.delete  activesheet.shapes.selectall  selection.delete end sub

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • シート上のjpg画像のみを一括削除したい

    Excel VBA勉強中の者です。 早速ですが、シート上にあるjpg画像のみを一括削除したく ネットで調べつつ以下のコードを作ってみました Sub dlt() '既存の画像を削除 Dim jpgdlt As Shape With ActiveSheet .DrawingObjects.Delete 'このコードが違っている??? For Each jpgdlt In .Shapes ’For Each Next で選択対象を繰り返し削除 jpgdlt.Delete Next End With End Sub これでjpg画像の削除は出来たのですが、シート上に配置した コントロールなどのオブジェクトも全て削除されてしまい困っております。 以下のコードも作ってみたのですが、こちらはメモリーが不足しているという エラーを回避できず、オブジェクトが削除されるか検証する前に使用を断念しました。 Sub dlt() '既存の画像を削除 Dim jpgdlt As Object Set jpgdlt = ActiveSheet jpgdlt.Shapes.SelectAll Selection.Delete End Sub jpg画像のみを選択し、削除するにはどうすれば宜しいのでしょうか? 色々調べてはみたものの、自力での解決に至らず、 お手数お掛けしますがどなたかご助力お願い致します。

  • excelマクロですべてのハイパーリンク解除したい

    excel2016で、ワークシート内のハイパーリンクをすべて解除したいと思います。 すべて削除するマクロは Sub Sample()  With ThisWorkbook.Worksheets("Sheet1")   .Hyperlinks.Delete 'ハイパーリンク削除  End With End Sub なのですが、これを解除の命令に変えて Sub Sample()  With ThisWorkbook.Worksheets("Sheet1")  .ClearHyperlinks 'ハイパーリンク解除  .Font.Underline = False '文字のアンダーライン解除  .Font.ColorIndex = xlAutomatic '文字色を自動設定  End With End Sub とするとエラーになってしまいます。 どのようにすれば良いでしょうか?

  • VBA シートの名前が重複するときに すでにある方を削除する

    VBA シートの名前が重複するときに すでにある方を削除する よろしくお願いします。 エクセル2003を使っています。 「入力シート 」をコピーして「DB」という名前をつける。 すでに「DB]シートがあれば「DB」シートを削除する。 その時に、もし「集計」シートと「名簿」シートがあれば一緒に削除する というコードを考えています。 集計シートや名簿シートはない場合もありますので、最初からdeleteにするとエラーになります。 どうぞお知恵をお貸しください。 sub シートの挿入と削除 () Worksheets("入力シート").Activate ActiveSheet.Copy After:=ActiveSheet On Error Resume Next 'エラーが発生しても続行 ActiveSheet.Name = "DB" If Err.Number = 1004 Then Application.DisplayAlerts = False '警告メッセージを表示しない Sheets("DB").Delete Application.DisplayAlerts = True ActiveSheet.Name = "DB" End Sub End If

  • Excel 全シート上のボタンを削除 VBA

    いつも大変お世話になっております。 Excelのシート上のボタンを削除したいと考えています。 ボタンはVBAで自動で作成してます。 Sub ButtonCreate() With ActiveSheet.Buttons.Add(Range("C1").Left, _ Range("C1").Top, _ Range("C1").Width, _ Range("C1").Height) .Characters.Text = "起動" .Characters.Font.Size = 8 End With End Sub シート上にはグラフ等もあるため、 まとめてオブジェクトを消すという方法は取れません。 ボタンのみを消したいと思っています。 Worksheets("テスト").Activate ActiveSheet.Buttons.Delete と削除する方法を取っていますが、 他に方法はありますか? BOOKを指定し、全シート上の ボタンを削除する方法があれば、知りたいです。 回答よろしくお願い致します。

  • VBAで指定したSheetの削除

    お世話になります 指定したシート以外すべてのシートを削除させるボタンを作成したいのですが ↓こんなものを見つけました。(URLわからくなってしまった;;) これは図1~ワークシートを削除させるVBAらしいのですが ■解らないこと なぜかsheetにすると削除してくれません。 '指定以外ワークシート削除 Private Sub CommandButton1_Click() Dim myShe As Worksheet For Each myShe In Worksheets If myShe.Name <> Worksheets("図").Name Then myShe.Visible = Delete End If Next End Sub

  • ワークシートの削除

    For SheetSakujo = 3 To SheetCount - 1 Worksheets(SheetSakujo).Select If ActiveSheet.Name <> "★" Then If Range("A2") = "" Then ActiveWindow.SelectedSheets.Delete End If ElseIf ActiveSheet.Name = "★" Then Exit For End If Next VBAでワークシートの削除を行っています。 A2が空白のシートを消そうと思って上記のようなコードをくみましたが、 削除されるとシートが減ってしまうため、次のシートも空白だった場合、消されないで飛ばされてしまいます。 3枚目のシート:空白 4枚目のシート:空白 5枚目のシート:空白     ↓ sheetsakujoが「3」なので3枚目は削除される。 次の4枚目のシートが3枚目が削除されたため、「3番目のシート」になるため、次に削除されるのは5枚目のシート。 この場合、どのようにしたらいいのでしょうか?

  • エクセルVBA コメントが削除できない

    エクセル2000です。 シート内のすべてのコメントを削除しようと以下のコードを走らせたところ、何番目かでエラーが起き、とまってしまいます。 シート保護は解除してあります。 コメントはすべて同じような書式なのでなぜ途中で止まるのかわかりません。ご教示いただければ幸いです。 Sub TEST() With ActiveSheet For i = 1 To .Comments.Count MsgBox i .Comments(i).Delete'ここでエラー Next i End With End Sub

  • オートシェイブだけ削除したい場合、

    シートの上にオートシェイブとOLEオブジェクトの方のコマンドボタンがあり、 オートシェイブだけ削除したい場合、 どのようなvbaコードになるのでしょうか? Sub Sample() ActiveSheet.Shapes.Delete End Sub 上だと 「オブジェクトは、このプロパティまたはメソッドをサポートしていません。(Error 438)」 になります。

  • 現在のシートの全てのピボットテーブルを更新するには

    vba現在のシートの全てのピボットテーブルを更新するには? シートがアクティブになった時にそのシートのピボテをすべて更新したいのですが、 複数あり、 Private Sub Worksheet_Activate() ActiveSheet.PivotTables("ピボットテーブル1").PivotCache.Refresh ActiveSheet.PivotTables("ピボットテーブル2").PivotCache.Refresh ・ ・ ・ End Sub とやっていくのは面倒なので、「現在のシートの全てのピボットテーブルを更新」と言うことをやりたいのですが そのようなコードはありますか?

  • エクセルVBA名前の定義特定のシートの名前のみ削除

    いつもお世話になってます。 Excel2013のVBAより、特定のシート、例えばデータというシートに付けられた名前の定義を消す事は出来るでしょうか?他のシートの名前の定義は残しておきたいです。 ActiveSheet.Namesで指定しても消去されませんでした。 Sub Sample1() Dim n As Name For Each n In ActiveSheet.Names n.Delete Next End Sub

専門家に質問してみよう