質問: エクセルvbaでの図形のカット(コピー)ペーストについて エクセル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しないと貼り付けられないのでしょうか? またはどのように書けばよいのでしょうか?
回答: こんなんでいかがでしょう。 activesheet.shapes("角丸四角形 10").cut activesheet.paste destination:=range("a1") ちなみに、"角丸四角形 10" は切り取られて、無くなってしまいます。 ペーストされたものには、別の名前が付きます。