[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『図形のコピーと貼り付け位置』(こしくん)
図形で作成した丸文字をセルの右端中央に貼り付けています。この図形をコピーし、別のセルに貼り付けたときにもセルの右端中央に貼り付けられるようにするには、どのように設定すれば良いのかお教え下さい。今はコピーして貼り付けても、コピー先のセルの左端の上に配置されてしまい、その都度カーソルで移動させなければなりません。
宜しくお願いいたします。
< 使用 Excel:Excel2007、使用 OS:Windows10 >
(マナ) 2017/08/05(土) 18:42
横から失礼します。
マクロ案です。
貼付け先のセルを選択した後にコピーしたいシェイプを選択し実行します。 順番を間違ったらうまく働きません。
Sub test() Dim shp As Object Dim newshp As Object Dim mycell As Range If TypeName(Selection) = "Range" Then Exit Sub Set shp = Selection.ShapeRange ActiveCell.Activate Set mycell = ActiveCell Set newshp = shp.Duplicate With newshp .Left = mycell.Left + mycell.Width - shp.Width .Top = mycell.Top + mycell.Height / 2 - shp.Height / 2 End With Set newshp = Nothing Set shp = Nothing Set mycell = Nothing End Sub (カリーニン) 2017/08/05(土) 20:17
マナさんの「ここにコピー」は、項目が出てきませんでした。
カリーニンさんのマクロは、私にとってハードルが高いです。
お手数をお掛けしました。
(こしくん) 2017/08/05(土) 21:05
1.シートのA1の左上をクリックして全体を選択、コピー
2.新しいシートに貼り付け
3.もとのシート上で前述の方法で必要なセルに図形をコピー
4.新しいシート全体をコピー
5.もとのシートに「数式と数値の書式」または「元の書式を保持」を選択して貼り付ける
という手もあります。
(:;:;:;:;:;) 2017/08/06(日) 01:06
マクロ案はボツだと思いますが、マクロ実行を簡易にしたバージョンです。
シェイプに↓を登録し、コピー先のセルをアクティブにした状態でシェイプ をクリックするとクリックしたシェイプをコピーします。 コピーしたシェイプにもマクロが登録されてますので、さらにそのシェイプ をコピー、というのも出来ます。
Sub test() Dim shp As Object Dim newshp As Object Dim mycell As Range If TypeName(Selection) <> "Range" Then Exit Sub Set mycell = ActiveCell Set shp = ActiveSheet.Shapes(Application.Caller) Set newshp = shp.Duplicate With newshp .Left = mycell.Left + mycell.Width - shp.Width .Top = mycell.Top + mycell.Height / 2 - shp.Height / 2 End With Set newshp = Nothing Set shp = Nothing Set mycell = Nothing End Sub (カリーニン) 2017/08/06(日) 10:13
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.