[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『オートシェイプとハイパーリンクの削除』(あかり)
お世話になります。
会社のデータで作表しているのですが、オートシェイプとハイパーリンクをアクティブシートの6行目以降一括削除したいのですがどの様にしたら良いのでしょうか?
お教え頂けると助かります。
< 使用 Excel:Excel2007、使用 OS:Windows7 >
たとえば
Sub Sample() Dim sp As Shape Dim hp As Hyperlink For Each sp In ActiveSheet.Shapes If sp.Type = msoAutoShape Then If sp.TopLeftCell.Row >= 6 Then sp.Delete End If Next
For Each hp In ActiveSheet.Hyperlinks If hp.Range.Row >= 6 Then hp.Delete Next
End Sub
シェープは左上隅が6行目以降かどうかで判断しています。
(β) 2015/09/30(水) 15:31
実行時エラー 1004
アプリケーション定義またはオブジェクト定義エラー と出ます。
If hp.Range.Row >= 6の所が黄色くなりました。
どの様に対処したら良いのでしょうか?
教えて頂けると助かります。
(あかり) 2015/10/01(木) 12:36
横から失礼します。
コードはそのままコピペしましたか?
手入力してスペルが間違ってるとかはないですか? (カリーニン) 2015/10/01(木) 13:03
カリーニンさんからも指摘がありますが、基本的にこのコードでエラーになることはないと思います。 実際に動かしてエラーになったコードを Sub から End Sub までコピペでアップしてもらえませんか。
(β) 2015/10/01(木) 13:08
Sub Sample() Dim sp As Shape Dim hp As Hyperlink For Each sp In ActiveSheet.Shapes If sp.Type = msoAutoShape Then If sp.TopLeftCell.row >= 6 Then sp.Delete End If Next
For Each hp In ActiveSheet.Hyperlinks If hp.Range.row >= 6 Then hp.Delete Next
End Sub (あかり) 2015/10/01(木) 13:34
>If hp.Range.row >= 6 Then hp.Delete
「row」と先頭が小文字になってるのが気になりますね。
Dim row As〜
と変数宣言してませんか? (カリーニン) 2015/10/01(木) 14:05
β様の提示されましたコードでコピペしただけなのでエラーについては判りません。
また rowをRowに変えてやってみましたが変りませんでした。
(あかり) 2015/10/01(木) 14:23
先ほど他のサイトでオートシェイプの削除のコードを比べてみて
下記のように変更しましたらエラーも出ずに終了致しました。
Sub Sample() Dim sp As Shape Dim hp As Hyperlink For Each sp In ActiveSheet.Shapes
If sp.TopLeftCell.row >= 6 Then sp.Delete
Next
For Each hp In ActiveSheet.Hyperlinks If hp.Range.row >= 6 Then hp.Delete Next
End Sub
お手数をお掛けしました。
(あかり) 2015/10/01(木) 14:54
↓の2015/09/29(火) 05:50のβさんの書き込みをご参照ください。
[[20150928224734]] 『テキストファイル書き込みに時間が掛かる。』(ブラック&ホワイト)
(カリーニン) 2015/10/01(木) 15:09
カリーニンさんも示唆されていますが、そちらでうまくいったという、そのコードは
If sp.Type = msoAutoShape Then の判定をやめ、すべてを無条件に削除としたものですよね。 また、エラーは、シェープではなく If hp.Range.Row >= 6 つまり、今回そちらで変更したところとは異なり ハイパーリンクのところでしたよね??
つじつまが合いません。
エラー時、モジュールレベルの変数で row As なんたら というものがあったのではないですか? で、それを消して実行してうまくいったということでは??
(β) 2015/10/01(木) 16:21
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.