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も見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
エクセルVBA 画像を貼り付けるセル位置を指定する方法
Excel(エクセル)
-
マクロで貼り付け位置を可変させる方法が知りたいです。
Excel(エクセル)
-
エクセルvbaでの図形のカット(コピー)ペーストについて
Excel(エクセル)
-
-
4
VBA Shapes コピーと名前
Excel(エクセル)
-
5
マクロを実行すると画像がズレてしまいます
その他(Microsoft Office)
-
6
【VBA】3個の図形をコピーしてSheet2に貼り付けたい
Excel(エクセル)
-
7
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
8
VBAによるセル内の画像の位置調整
Excel(エクセル)
-
9
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
10
マウスで選択した図形のみVBAで移動したい。
Visual Basic(VBA)
-
11
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
12
画像を削除したい(VBA)
Word(ワード)
-
13
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
14
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
15
エクセルVBA 図形の選択法は?
Visual Basic(VBA)
-
16
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
17
パワーポイントのVBAでテキストボックスに値を変更させたいです
Visual Basic(VBA)
-
18
EXCELで別シートのセル内に画像の貼り付けをしたいのですが・・・
Excel(エクセル)
-
19
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
20
エクセルVBAでセル番地を指定してオブジェクト名取得
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
外付ディスプレイで AutoHotkey...
-
エクセルVBAで画像を貼り付ける...
-
C#で、画像の、指定した座標の...
-
Windows、自作の画像生データを...
-
画像の座標取得
-
マウスイベントが動かない
-
VBでクリックイベントを発生さ...
-
uwscについて、同一の画像(仮...
-
高さのあるクォータービューの...
-
Windows APIの線などの描画につ...
-
コントロール名とそのプロパテ...
-
VBでプリンター制御コードを記...
-
正確なサイズの図形を印刷させ...
-
HSP 自機狙い
-
マウス自動クリックソフトについて
-
VBで路線図(画像)の駅名をク...
-
UWSC画像認識で座標の位置がず...
-
Excel VBAで他アプリケーション...
-
「ご処理進めて頂きますようお...
-
【Excel】特定の文字を含むセル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAで画像を貼り付ける...
-
Excel VBAで他アプリケーション...
-
C#で、画像の、指定した座標の...
-
VBでクリックイベントを発生さ...
-
外付ディスプレイで AutoHotkey...
-
マウスイベントが動かない
-
VBAで ScreenToClient を使いたい
-
バナーにリンクを埋め込む方法
-
NoxPlayerとUWSCのadbの座標に...
-
UWSC画像認識で座標の位置がず...
-
VBでデスクトップ上のアイコン...
-
UWSファイルの編集?
-
UWSCのCHKIMG関数について
-
画像中のある座標でマウスオー...
-
VBA HTML要素または文字の座標...
-
JPGの画像ファイルの結合
-
マウスストーカーのようにカー...
-
Unityでピクセル情報を取得する...
-
マウス位置の色を得る
-
uwscについて、同一の画像(仮...
おすすめ情報