
マクロ初心者です。何度かこちらで教えていただきながら、
やっとマクロが完成して、実行してみたら、思っていた動きは
すべて実行することができました。
しかし、最後に
『実行時エラー 438 オブジェクトはこのプロパティまたはメソッドをサポートしていません。』
というエラーメッセージが表示されてしまったのです。
デバックをクリックして見てみると
一番下のEnd Subから3行上のあたりで、
『 For Each Shapes In ActiveSheet.Shape』というところが
黄色くなっていました。
これはどうしたらマクロの動きはいまのままで、直すことができるのでしょうか?
マクロの動き方としては
3つの動き方をするようにしています。
まず、まとめシートのB1で『場所』を選択すると
チェック結果シートにある該当する場所のチェック1~4の値を
コピーしてまとめシートに貼り付けてくれるマクロがあります。
次に、まとめシートに貼り付けられたチェック1~4の値は
ハイパーリンクなのですが、
まとめシートのE列にそれぞれのハイパーリンクのアドレスを表示してくれる
動きをするマクロがあります。
最後に、このハイパーリンクはそれぞれ画像と紐づいているので、
その画像をD列に既定のサイズで貼り付けてくれるマクロにしてあります。
Sub チェック開始()
Dim c As Range, wS As Worksheet
Set wS = Worksheets("チェック結果")
With Worksheets("まとめ")
Set c = wS.Range("J:J").Find(what:=.Range("B1"), LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
wS.Cells(c.Row, "R").Resize(, 4).Copy
.Range("C2").PasteSpecial Paste:=xlPasteAll, Transpose:=True
Else
MsgBox "該当データなし"
End If
End With
Application.CutCopyMode = False
Dim h As Hyperlink
Dim a As String
Dim s As String
For Each h In ActiveSheet.Hyperlinks
a = h.Address
s = h.SubAddress
If s <> "" Then
a = a & " # " & s
End If
h.Range.Offset(0, 2) = a
Next
Dim i As Long, imax As Long
Dim sp As Shapes
imax = Cells(Rows.Count, 5).End(xlUp).Row
For i = 2 To imax
If Cells(i, 5).Value <> "" Then
Cells(i, 4).Select
p = "" & Cells(i, 5).Value & ""
ActiveSheet.Pictures.Insert(p).Select
Selection.ShapeRange.LockAspectRatio = msoTrue
Selection.ShapeRange.Width = Selection.ShapeRange.Width * 0.25
Selection.ShapeRange.Height = Selection.ShapeRange.Height * 1.25
End If
Next
For Each Shapes In ActiveSheet.Shape
Next
End Sub
どうしたら『 For Each Shapes In ActiveSheet.Shape』の
黄色は直るのでしょうか?
お手数お掛けしますが、何卒お願い致します。


No.3
- 回答日時:
For Each Shapes In ActiveSheet.Shape←間違い
For Each oShape In ActiveSheet.Shapes←正しい
全部処理が終わったら、そのシートの図形を全て削除してますが、それでもokですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
- Excel(エクセル) EXCEL マクロで行を挿入して貼り付けようとするとエラーになる。 2 2022/05/24 09:43
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Excel(エクセル) マクロで列を加えたら上手くいかなくなりました。 2 2022/05/23 17:59
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
Excel_マクロ_現在開いているシ...
-
ExcelのVBA。public変数の値が...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
エクセルで別のセルにあるふり...
-
エクセルの関数とマクロの区別
-
エクセル VBA実行中のApplicati...
-
オートフィルターとExcelマクロ...
-
エクセルのマクロについて教え...
-
アクセス マクロ クリップボ...
-
TERA TERMを隠す方法
-
EXCEL VBAでマクロの最後でFind...
-
エクセルマクロ 2行とびでAか...
-
エクセルに張り付けた写真のフ...
-
Excelマクロで元データを簡潔な...
-
マクロの一時停止機能について
-
WORD テキストボックスを全ペ...
-
インクルードガードの命名の仕方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
Excel・Word リサーチ機能を無...
-
一つのTeratermのマクロで複数...
-
Excel_マクロ_現在開いているシ...
-
メッセージボックスのOKボタ...
-
Excel マクロ VBA プロシー...
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
エクセルで別のセルにあるふり...
-
ExcelVBAでPDFを閉じるソース
-
ダブルクリックで貼り付けた画...
-
Excel マクロでShearePoint先の...
-
TERA TERMを隠す方法
-
マクロ実行時、ユーザーフォー...
-
Excelのセル値に基づいて図形の...
-
特定文字のある行の前に空白行...
-
エクセルマクロでワードの一ペ...
-
エクセルで縦に並んだデータを...
-
Excel VBAからAccessマクロを実...
おすすめ情報