No.1ベストアンサー
- 回答日時:
コントロールは編集モードならコピーできると思いますが、実行モードで普通にコピー&ペーストを行ってもできないと思われます。
素人の力技ですが下記マクロを作ってみました。おもしろい問題でけっこうはまってしまいました。長くなるので選択状態のチェック等は行っていません。m(_ _)m
同一シートのみで可能です。標準モジュールに貼り付けます。
ショートカットキー Ctrl+Shift+A 等に割り当てて下さい。
コピー元を選択し、コントロールキーを押しながら貼り付け先の左上セルを選択します
順番は逆でもかまいません。複数セルが含まれる矩形セル範囲と単一のセルが指定されていることが要件です。
(これは単一セルと単一セルのコピーと他シートへのコピーは対応していません。)
参考にして下さい。
Public Sub ShapesCopy()
Dim rgCopy As Range 'コピー元セル範囲
Dim rgPaste As Range '貼り付けるセル(左上)
Dim rgShape As Range 'コピー元にあるコントロールの左上セル
Dim myShape As Object '1つのコントロール
Dim rowCopy, clmCopy As Long 'コピー元の左上セルの行、列番号
Dim rowPaste, clmPaste As Long '貼り付けるセルの行、列番号
Dim disRow, disClm As Long 'コピー元と貼り付け先の行・列の隔たり
'*** 選択セルをコピー元と貼り付け先に分離 ***
With Selection
If .Areas(1).Count = 1 Then
Set rgCopy = .Areas(2)
Set rgPaste = .Areas(1)
ElseIf .Areas(2).Count = 1 Then
Set rgCopy = .Areas(1)
Set rgPaste = .Areas(2)
Else
Exit Sub '厳重なチェックは省略しています。
End If
End With
'*** コピー元と貼り付け先の隔たりを計算 ***
rowCopy = rgCopy.Cells(1, 1).Row
clmCopy = rgCopy.Cells(1, 1).Column
rowPaste = rgPaste.Cells(1, 1).Row
clmPaste = rgPaste.Cells(1, 1).Column
disRow = rowPaste - rowCopy '行の隔たり
disClm = clmPaste - clmCopy '列の隔たり
'*** コピー実行 ***
'===== セル =====
rgCopy.Copy: rgPaste.Select: ActiveSheet.Paste
'===== コントロール =====
For Each myShape In ActiveSheet.Shapes 'シート内のコントロールを探す
Set rgShape = Range(myShape.TopLeftCell.Address)
If Union(rgCopy, rgShape).Address = rgCopy.Address Then
'コントロールの左上セルがコピー元内にある場合はコピーする
myShape.Copy
Range(rgShape.Address).Offset(disRow, disClm).Select
ActiveSheet.Paste
End If
Next
rgPaste.Select
End Sub
力作をありがとうございます。
せっかく作成していただいて申し訳ないのですが、
VBAでコピー範囲を選択してペーストしたら図も一緒にペーストされました。
そのソースをいかに示します。
Dim xl As Object
xl.Application.Sheets("TEMP").Range("A1:AN34").Copy xl.Application.Sheets("DATA").Range("A" & CStr(1 + 34 * TotalPage))
これで、TEMPシートのA1:AN34をコピーして、
DATAシートのA列(1 + 34 * TotalPage)行目にペーストしました。
私は別の方法でコピー&ペーストしていたのですが、
同僚がこのロジックで図のペーストができたというので試してみたら、本当にできました。
ご迷惑をおかけしました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
エクセル ボタンに設定したマクロごとボタンをコピー
Excel(エクセル)
-
excelコマンドボタンと内容を別ファイルにコピー
Excel(エクセル)
-
変数をコントロール型で使用する方法
Visual Basic(VBA)
-
-
4
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
5
VBAのテキストボックスに文字列を貼り付ける方法
Access(アクセス)
-
6
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
7
複数選択のListBoxでClickイベントが拾えません
Visual Basic(VBA)
-
8
VBA ユーザーフォームのChangeイベントを停止したい
Access(アクセス)
-
9
EXCEL VBAのユーザーフォームに引数を渡す方法について
Excel(エクセル)
-
10
Excel 全シート上のボタンを削除 VBA
Excel(エクセル)
-
11
シートに張り付けたボタンがシートのコピーで消える。
Visual Basic(VBA)
-
12
エクセルVBAでテキストボックスをコピペし、セルの右に寄せたい
Visual Basic(VBA)
-
13
EXCEL VBA 複数のImageコントロールにクリップボードに保存されている画像を表示したい
Visual Basic(VBA)
-
14
[VB.net] ExcelへのQRコード出力処理について
Visual Basic(VBA)
-
15
EXCELでバーコードを作成すると白くなってコードが見えません
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのアポストロフィを一...
-
エクセル:マクロ「Application...
-
エクセルで隣接していない複数...
-
メールソフト「サンダーバード...
-
Excelでコピーした行の挿入を繰...
-
EXCELのオートフィルの設定を変...
-
エクセルで「コピーしたセルの...
-
Excel 行の連続データを列に参...
-
エクセルオートフィルで書式を...
-
エクセルで勝手に「折り返して...
-
Excelに、ダブルクォーテーショ...
-
エクセルで、選択範囲の数値全...
-
EXELで複数のとびとびのセルを...
-
エクセル 別シートへのコピー...
-
エクセルの2ページ目の作り方
-
エクセルでの行数・列数を指定...
-
【Excel】複数セルにまたがる文...
-
エクセルのコピペでクリップボ...
-
可視セル設定をデフォルトにしたい
-
エクセルで値だけコピーして背...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル:マクロ「Application...
-
エクセルのアポストロフィを一...
-
エクセルで隣接していない複数...
-
エクセルで勝手に「折り返して...
-
Excelに、ダブルクォーテーショ...
-
メールソフト「サンダーバード...
-
Excelでコピーした行の挿入を繰...
-
Excel 行の連続データを列に参...
-
EXELで複数のとびとびのセルを...
-
エクセルの2ページ目の作り方
-
エクセルで、選択範囲の数値全...
-
エクセル 別シートへのコピー...
-
「選択範囲を解除してアクティ...
-
エクセルで値だけコピーして背...
-
エクセル コピーしたデータを1...
-
EXCELのオートフィルの設定を変...
-
エクセルオートフィルで書式を...
-
エクセルでの行数・列数を指定...
-
エクセルのコピペでクリップボ...
-
エクセルで「コピーしたセルの...
おすすめ情報