![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
Sheets("Sheet1")に貼り付けたJ-pegの画像(=シンボルマーク)を別なシートに貼り付けるのは下記のVBAで出来ました。ただ、これでは貼り付け先のシートのセルK12が、貼り付け元のK12と同じ位置でないと思った場所に張り付きません。
そこでセルで場所を指定するのではなく、座標のようなもので指定する方法はないものかと考えた次第です。
オートシェイプなどは座標指定で作成できるのですが、J-pegのような画像はどうすればいいのでしょうか?
Sub TEST()
Sheets("FACE").Shapes("シンボルマーク").Copy
ActiveSheet.Range("K12").Select
ActiveSheet.Paste
End Sub
No.4ベストアンサー
- 回答日時:
#1です。
>この場合、ファイルをエクセルにくっつけて渡すなんてこと
>はできないものでしょうか?(別々にではなくあくまでエク
>セルのブックに付属した形で)
Excelのブックに付属した形にするなら、コピーペーストする方がいいと思います。一旦挿入した画像を別途保存するのは、簡単には出来ないと思います。
複数のシートで同じような作業をするなら、次のような方法も考えられます。
Function CpyMrk(MrkNM As String, myTop As Single, myLeft As Single)
Sheets("FACE").Shapes(MrkNM).Copy
ActiveSheet.Paste
ActiveSheet.Shapes(MrkNM).Top = myTop
ActiveSheet.Shapes(MrkNM).Left = myLeft
End Function
Sub test()
CpyMrk "シンボルマーク", 10, 10
End Sub
No.3
- 回答日時:
#1です。
お礼の中でのご質問の件ですが、>それともオートシェープのように一行で座標指定する書き方
>もあるのでしょうか?
ペーストでは、直接座標を指定できないと思います。
AddPictureメソッドを使ったらどうでしょうか?
ActiveSheet.Shapes.AddPicture "フルパスファイル名" _
, msoFalse, msoTrue, 100, 200, 100, 100
AddPictureメソッドという手もあるんですね。
この場合、ファイルをエクセルにくっつけて渡すなんてことはできないものでしょうか?(別々にではなくあくまでエクセルのブックに付属した形で)
No.2
- 回答日時:
>それともオートシェープのように一行で座標指定する書き方もあるのでしょうか?
ないと思います。
本題から少し離れ、関連して
(数値指定するとき)
もし垂直に5つ並べるなら、コピーでなく、いっそのことAddメソッドを繰り返して
Sub TEST01()
Dim myTop As Single, myLeft As Single
For i = 1 To 5
mleft = 100
mtop = (i - 1) * 100 + 50
ActiveSheet.Shapes.AddShape(msoShapeSun, mleft, mtop, 50#, 50#).Select
Next i
End Sub
水平に並べるならmleftを
mleft = (i - 1) * 100 + 50
mtop = 100
にしてはどうでしょう。
(カーソル位置指定)
1個1個指定しては、実行となりますが
#1のコードを実行すると、どうも
アクチブセルの置き所と貼りつけられたシェイプの位置は
相関関係がありそうですが、良く判りません。初めにコピーする時のアクチブセルの置き所とシェイプとの位置関係を引きずるようでもありますが、自信なし。
セルの位置と関連ずけるなら、
For i = 1 To 5
mleft = Cells(i, 1).Left
mtop = Cells(i, 1).Top
ActiveSheet.Shapes.AddShape(msoShapeSun, mleft, mtop, 50#, 50#).Select
Next i
なども可能です。
またTopLeftCellと言うプロパティがあるようですが、値の取得のみで、設定はさせてくれません。
ご参考までに。ご質問と
ピントがずれていた場合はご免。
No.1
- 回答日時:
COPY,PASTEでやるなら、一旦元の座業位置を保存し、ペースト後のshapeに適用するのが普通かと思います。
Sub TEST()
Dim myTop As Single, myLeft As Single
myTop = Sheets("FACE").Shapes("シンボルマーク").Top
myLeft = Sheets("FACE").Shapes("シンボルマーク").Left
Sheets("FACE").Shapes("シンボルマーク").Copy
ActiveSheet.Paste
ActiveSheet.Shapes("シンボルマーク").Top = myTop
ActiveSheet.Shapes("シンボルマーク").Left = myLeft
End Sub
さっそくありがとうございました。これならオリジナルと寸分違わない位置に配置できますね。勉強になりました。
ところで、オートシェープだと
ActiveSheet.Shapes.AddShape(msoShapeSun, 509.25, 47.25, 141#, 138#).Select
のように、直接、座標を入れられますが、Copyで持ってくるものは、この場合、myTopやmyLeftに代入するしか方法はないですか?
それともオートシェープのように一行で座標指定する書き方もあるのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Visual Basic(VBA) 複数シート一括作成後に、特定範囲の数式は値で貼り付けしたい 3 2022/10/07 11:18
- Visual Basic(VBA) 4月~3月まで12カ月横に並んだ表へ指定範囲を貼り付けたい。 Sheet2の指定範囲、Range(" 2 2022/11/30 16:37
- Visual Basic(VBA) 別ブックからシートのコピー 3 2022/04/01 20:07
- Visual Basic(VBA) VBAマクロ 決まっていない行を選択して別シートへ貼付け 4 2023/02/16 16:08
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/26 09:50
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/03/02 08:40
- Excel(エクセル) ワードのマクロについて教えてください。 1 2023/03/11 13:50
このQ&Aを見た人はこんなQ&Aも見ています
-
賃貸で可能な古民家風レトロな部屋作りのコツ!改めて知る畳の高い機能性と魅力も紹介
畳の部屋を雰囲気のよい部屋に仕上げたい!賃貸住宅でもできる古民家風のレトロな部屋作りのコツを伺った。
-
エクセルVBA 画像を貼り付けるセル位置を指定する方法
Excel(エクセル)
-
VBA Shapes コピーと名前
Excel(エクセル)
-
エクセルvbaでの図形のカット(コピー)ペーストについて
Excel(エクセル)
-
-
4
マクロで貼り付け位置を可変させる方法が知りたいです。
Excel(エクセル)
-
5
【VBA】3個の図形をコピーしてSheet2に貼り付けたい
Excel(エクセル)
-
6
マクロを実行すると画像がズレてしまいます
その他(Microsoft Office)
-
7
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
8
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
9
VBAによるセル内の画像の位置調整
Excel(エクセル)
-
10
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
11
エクセルVBA 図形の選択法は?
Visual Basic(VBA)
-
12
エクセルマクロでシート内にある画像のみを選択する
Excel(エクセル)
-
13
マウスで選択した図形のみVBAで移動したい。
Visual Basic(VBA)
-
14
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
15
VBAでの結合セルのコピー&ペースト
Excel(エクセル)
-
16
エクセルVBAでセル番地を指定してオブジェクト名取得
Excel(エクセル)
-
17
VBAエクセルに貼り付けた画像をセルにあった大きさにしたい(等倍)
Excel(エクセル)
-
18
VBAでエクセルのシート上の画像のリサイズと配置を行いたい
Excel(エクセル)
-
19
Excel2019 マクロを使用し画像を貼り付けした際のリンク切れについて
Excel(エクセル)
-
20
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C#で、画像の、指定した座標の...
-
Excel VBAで他アプリケーション...
-
VBA HTML要素または文字の座標...
-
uwscについて、同一の画像(仮...
-
UWSファイルの編集?
-
ピクチャーボックスのスケール...
-
LineTo,MoveToについて
-
UWSCでPEEKCOLORを使い指定ウィ...
-
エクセルVBAで画像を貼り付ける...
-
マウス自動クリックソフトについて
-
VBでクリックイベントを発生さ...
-
OpenGLを使ったプログラムについて
-
VB、VBSでのキーマクロ
-
外付ディスプレイで AutoHotkey...
-
「ご処理進めて頂きますようお...
-
CloseとDisposeの違い
-
エクセルで、日付を入力すると...
-
DoEventsがやはり分からない
-
エクセルVBAで、MsgBox やInput...
-
Excelシート上のマクロを登録し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAで画像を貼り付ける...
-
Excel VBAで他アプリケーション...
-
C#で、画像の、指定した座標の...
-
VBでクリックイベントを発生さ...
-
バナーにリンクを埋め込む方法
-
UWSC画像認識で座標の位置がず...
-
マウスイベントが動かない
-
uwscについて、同一の画像(仮...
-
外付ディスプレイで AutoHotkey...
-
VBAで ScreenToClient を使いたい
-
UWSCで特定の文字をクリックす...
-
VBA HTML要素または文字の座標...
-
マウスストーカーのようにカー...
-
UWSファイルの編集?
-
NoxPlayerとUWSCのadbの座標に...
-
C言語でグラフ作成??
-
特定座標のRGB値取得について
-
UWSCのCHKIMG関数について
-
Visual Studio .NET 2003:右揃...
-
JPGの画像ファイルの結合
おすすめ情報