
エクセル2013のVBAで図形をカットして、別の位置に貼り付けるのに、下記のコードで動作させて一応問題なく動作しています。
Sub sample()
ActiveSheet.Shapes("角丸四角形 10").Cut
Cells(1, 1).Select
ActiveSheet.Paste
End Sub
これを、もう少し修正して
ActiveSheet.Shapes("角丸四角形 10").Cut
ActiveSheet.Range("A1").PasteSpecial Paste:=xlPasteAllUsingSourceTheme
このように書くと、
実行時エラー1004
RangeクラスのPasteSpecialメソッドが失敗しました
となり、
ActiveSheet.Shapes("角丸四角形 10").Cut Destination:=ActiveSheet.Range("A1")
このように書くと、
実行時エラー1004
アプリケーション定義またはオブジェクト定義のエラーです
となってしまいました。
図形の貼り付けは一度貼り付け場所をselectしないと貼り付けられないのでしょうか?
またはどのように書けばよいのでしょうか?
No.2ベストアンサー
- 回答日時:
こんなんでいかがでしょう。
ActiveSheet.Shapes("角丸四角形 10").Cut
ActiveSheet.Paste Destination:=Range("A1")
ちなみに、"角丸四角形 10" は切り取られて、無くなってしまいます。
ペーストされたものには、別の名前が付きます。
どうもありがとうございます。微妙な違いですがこれだと動作しました。ペーストしたものは、別の名前が付くとのことでしたが、そんなことはなく同じ名前のままで何度でも繰り返し問題なく動作しました。
No.1
- 回答日時:
詳細は、分かりませんが移動させたいなら
切り取りって貼り付けないで下記の様に
対象のオートシェイプの位置をそもそも変える事で
要件はみたしませんかね?
Sub test()
With ActiveSheet.Shapes("角丸四角形 10")
.Top = Range("a1").Top
.Left = Range("a1").Left
End With
End Sub
あとは、選んだセル位置に移動させたいなら
セル位置を取得してから、その位置に来るように
コード書き換えればいいと思います。
また、特定のセルと分かっているのなら直接書き込んだり
微調整したいなら、「Range("a1").Top- 任意の数値」のように
すれば上下左右ともに調整できます。
試してみました。
いいですね。図形などの移動は、切り取らなくても位置の指定で移動できるのですね。
問題なく思い通りになりました。
どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Excel(エクセル) 【マクロ】PasteSpecialメソッドにて、コードが動かない理由が分かりません 2 2023/08/15 20:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/04 17:58
- Excel(エクセル) エクセル VBAの構文について 2 2023/02/10 18:26
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/01/27 13:15
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) 改行ごとに行を追加し、数量を分割 4 2023/07/11 16:39
- Visual Basic(VBA) Excel VBA メール作成について 本文の中にExcel でコピーした図を上下に2つ 貼り付けを 2 2023/06/14 01:48
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/26 12:00
- その他(Microsoft Office) エクセルVBA 3 2022/06/09 08:04
このQ&Aを見た人はこんなQ&Aも見ています
-
VBAでセルを指定した画像のコピー&ペーストを繰り返したい
Excel(エクセル)
-
エクセルVBA 画像を貼り付けるセル位置を指定する方法
Excel(エクセル)
-
VBA Shapes コピーと名前
Excel(エクセル)
-
-
4
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
-
5
エクセルVBAで画像を貼り付ける座標設定方法は?
PowerPoint(パワーポイント)
-
6
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
7
エクセルマクロでシート内にある画像のみを選択する
Excel(エクセル)
-
8
【VBA】3個の図形をコピーしてSheet2に貼り付けたい
Excel(エクセル)
-
9
【VBA】写真の縦横比を変えずに貼り付ける
Visual Basic(VBA)
-
10
Excel VBAでセル内の画像を選択したい
Excel(エクセル)
-
11
エクセルVBAですが教えてください。オートシェイプがコピーされません。
Excel(エクセル)
-
12
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
13
Excel vbaについての質問
Visual Basic(VBA)
-
14
Excel マクロ 画像をリンクせずかつ圧縮して貼りつける方法を教えてください
Excel(エクセル)
-
15
【マクロ】PasteSpecialメソッドにて、コードが動かない理由が分かりません
Excel(エクセル)
-
16
vba クリップボードクリアについて教えてください
その他(プログラミング・Web制作)
-
17
【VBA】 Alt+PrintScreenにてアクティブウィンドウのスクショを貼付する方法
Excel(エクセル)
-
18
マクロで選択した図形の選択状態を解除するには
Excel(エクセル)
-
19
VBA マクロ実行時エラー’1004RangeクラスのPasteSpecialメソッドが失敗
Access(アクセス)
-
20
マクロを実行すると画像がズレてしまいます
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
四角形の中心の求め方
-
定規・コンパスで20度を作図...
-
エクセルvbaでの図形のカット(...
-
60°、30°、50°、40°の作図の問題
-
内角の和が1440°である多角形は...
-
4辺の長さが分かっている四角形...
-
円の中に図形が何個入るのか
-
四角形ABCDと言えば普通A→B→C→D...
-
星型って
-
角錐台の体積の公式について
-
1つの外角の大きさが24°の正多...
-
孤を3等分する点の作図
-
WORD 2段組にしてその外側に囲...
-
地縄の出し方
-
正24角形の一つの内角の大きさ...
-
角度を求めて下さい。
-
コンパスと定規で作図可能な角度
-
この図の正六角柱においてABとK...
-
数1 三角比 円に内接するABCDに...
-
正十角形の1つの内角の大きさの...
おすすめ情報