[[20170131154254]] 『図のリンク貼り付けを行うマクロについて』(クマ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『図のリンク貼り付けを行うマクロについて』(クマ)

別シートからセルを選んできて、図のリンク貼り付けを行うマクロを作成したいです。
セルの大きさに合わせて図の大きさを変更したくて、検索していろいろ貼り付けてるんですがうまくいきません。
教えてください

Sub リンク()
Worksheets("サンプル1〜10").Range("B10:O35").Copy
Application.Goto Worksheets("1〜10").Range("C19")
ActiveSheet.Pictures.Paste Link:=True

Worksheets("サンプル1〜10").Range("B62:O87").Copy
Application.Goto Worksheets("1〜10").Range("C64")
ActiveSheet.Pictures.Paste Link:=True

ShapeRange.LockAspectRatio = msoFalse

                .Top = h.Top
                .Left = h.Left
                .Width = h.MergeArea.Width
                .Height = h.MergeArea.Height

End Sub

< 使用 Excel:Excel2013、使用 OS:Windows7 >


まずはステップ実行し、どこまでなら思った通りに動いているか、駄目な箇所とエラーメッセージは何か、それを書いてください。

とりあえず、親オブジェクトを指定せずにプロパティ名を書いても動くわけがない辺りを、ご自分で調べて、修正してみてください。
(???) 2017/01/31(火) 16:09


(???)様
ありがとうございます。
とりあえず、貼り付くことは貼り付くので、
そのあとを調べてみます。

(クマ) 2017/01/31(火) 16:26


(???)様
おはようございます。

リンク貼り付けした図をまず選択して、サイズを決めればいいのかと調べたんですが
わかりませんでした。
もともと、このシートには写真が貼り付けてあります。
貼り付けた範囲の図を選択するにはどうしたらいいんでしょうか。
教えて頂けないでしょうか。

(クマ) 2017/02/01(水) 09:19


 横から失礼します。

 >>もともと、このシートには写真が貼り付けてあります。 
 >>貼り付けた範囲の図を選択するにはどうしたらいいんでしょうか。 

 この意味がわかりませんが、最初にアップされたコード、セル領域をリンク貼り付けした、その図形に対して
 様々な設定を行う。そのために貼り付けた図形を把握したいということであれば、いくつか方法がありますが
 2つほど例を。

 Sub Sample1()
    Dim h As Range
    Sheets("サンプル1〜10").Range("B10:O35").Copy
    Set h = Worksheets("1〜10").Range("C19")
    Application.Goto h
    With ActiveSheet.Pictures.Paste(Link:=True)
        .ShapeRange.LockAspectRatio = msoFalse
        .Top = h.Top
        .Left = h.Left
        .Width = h.MergeArea.Width
        .Height = h.MergeArea.Height
    End With

 End Sub

 Sub Sample2()
    Dim pic As Picture
    Dim h As Range
    Sheets("サンプル1〜10").Range("B10:O35").Copy
    Set h = Worksheets("1〜10").Range("C19")
    Application.Goto h
    Set pic = ActiveSheet.Pictures.Paste(Link:=True)

    pic.ShapeRange.LockAspectRatio = msoFalse
    pic.Top = h.Top
    pic.Left = h.Left
    pic.Width = h.MergeArea.Width
    pic.Height = h.MergeArea.Height

 End Sub

 ★もう1例 追加。

 Sub Sample3()
    Dim h As Range
    Sheets("サンプル1〜10").Range("B10:O35").Copy
    Set h = Worksheets("1〜10").Range("C19")
    Application.Goto h
    ActiveSheet.Pictures.Paste Link:=True
    DoEvents    '念のため
    With ActiveSheet.Pictures(ActiveSheet.Pictures.Count)
        .ShapeRange.LockAspectRatio = msoFalse
        .Top = h.Top
        .Left = h.Left
        .Width = h.MergeArea.Width
        .Height = h.MergeArea.Height
    End With
 End Sub

(β) 2017/02/01(水) 09:47


(β) 様

ありがとうございます。
不勉強ですみません。

リンク貼り付けした図のみを選択し、大きさを調整したかったんですが、
図の名前で選択しても変わるし、写真もあるので全部は選択できないしと悩んでました。

貼り付けた時は選択しているということなんですかね?
教えて頂いた3つを見比べて勉強します。
ありがとうございました。

(クマ) 2017/02/01(水) 10:15


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.