[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『コントロールボタンのコピー』(ANGY)
マクロを組んだコントロールボタンをコピーしてすべてのシートを選び貼り付けにしたら、「データを貼り付けできません。」と出てきました。
すべてのシートに一括で貼り付けする方法を教えてください。
< 使用 Excel:Excel2013、使用 OS:Windows7 >
フォームツールのボタンですね。 これに限らず、たとえば楕円を挿入して、これをコピーしてほかのシートを選んで貼り付け。これはOKですよね。 でも、楕円をコピーして、シートをCtrlキーを押しながら複数選択して Ctrl/v とやると、貼り付けできませんよね。
これは仕様じゃないでしょうか?
(β) 2015/04/21(火) 17:38
ActiveXコントロールだったら、の場合です。
そのコントロールに記述してあるコードも気になるところです。
コード内容によっては他のシートでは意図したとおりに動作しない 可能性があります。
また、わざわざコントロールに記述しなくてもアドインなどで対処 できるかもしれませんし、ThisWorkbookモジュールに記述すれば いいことかもしれません。 (カリーニン) 2015/04/21(火) 20:06
仕事で施工写真図なるものを使ってるのですが、以前の会社で使っていたものを
応用して今の会社で使っている写真台帳に手を加えているのですが、
元の写真台帳は写真が3枚だったのですが今は4枚あるので
マクロをコピーして作り写真はうまく貼れたのですが、
ボタンが作ったシートにだけあって他のシートに無いことに気づき(あたりまえなことではずかしい(^_^;))
コピーしようと思ったら出来なかったとゆう訳です。
シートが100枚近くあるので、当然ながら1つ1つは・・・(^_^;)
何せ初心者なものですから申し訳ありませんが、わかりやすい言葉で教えて頂けると有難いです。
よろしくお願いします。
(ANGY) 2015/04/22(水) 09:43
そういうことじゃなくて、情報がたりねーんですよ。 >マクロを組んだコントロールボタン これが、ActiveXコントロールなのか、フォームのコントロールなのか、又は図なのか コードはシートモジュールに記載されているのか、標準モジュールなのか、アドインブックなのか等
リンク先はActiveXコントロール (リンク先のリンクにフォームコントロールの説明もあります。) http://www.relief.jp/itnote/archives/excel-make-macro-button-activex.php
シートモジュール 標準モジュール http://officetanaka.net/excel/vba/beginner/10.htm
(稲葉) 2015/04/22(水) 10:27
補足 ボタンの種類と、コードが記載されている場所がわからないと 何を100シート分コピーしなくてはいけないのかわからないので、 ↑のような書き方をしました。
ちなみに、A1をダブルクリックすると、「マクロを実行しますか? [はい/いいえ]」のような ダイヤログを出して実行するなら、ボタンも必要ないし カリーニンさんが提案されているThisWorkBookモジュールに記載すれば済むことなので 一番簡単かと思います。
そうすれば、すべてのシートを選択して、A1セルに「ここをダブルクリック」みたいに一気に 文字入れられますしね!
なので、つべこべ言わず、そのコード全部さらしたほうが早いですよ!
(稲葉) 2015/04/22(水) 10:34
ボタンだけをコピーしないで
周りのセル範囲ごとコピーすると貼り付けできませんか?
(マナ) 2015/04/22(水) 12:43
>シートが100枚近くあるので、当然ながら1つ1つは・・・(^_^;)
でも、たったの100枚。Q/Aで、回答を待っている間にできますよね? 1つに3秒かかったとして300秒=5分。
(β) 2015/04/22(水) 12:55
ボタン・・・フォームコントロール
コード・・・標準モジュール
です。こんなんで大丈夫でしょうか?
ちなみにマナさんの方法を試してみましたが、出来ませんでした。
すいません、みなさんのコメントで勉強させていただきます。
よろしくお願いします。
(ANGY) 2015/04/23(木) 12:42
>なので、つべこべ言わず、そのコード全部さらしたほうが早いですよ!
(稲葉) 2015/04/23(木) 12:52
すいません、肝心のコードですね・・・。
Sub 写真1()
On Error GoTo ErrEnd Range("B9").Select Application.Dialogs(xlDialogInsertPicture).Show Selection.ShapeRange.LockAspectRatio = msoTrue Selection.ShapeRange.Width = 338 Selection.ShapeRange.ZOrder msoBringToFront Range("A21").Select Exit Sub ErrEnd: Range("A21").Select End Sub
これが写真4まであります。
これでいいですか?
(ANGY) 2015/04/23(木) 13:07
Sub test() Dim i As Long
Shapes.Range(Array("Button 1", "Button 2", "Button 3", "Button 4")).Select Selection.Copy
For i = 1 To Sheets.Count If Sheets(i).Name <> Me.Name Then With Sheets(i) .Activate .Range("C9").Activate .Paste End With End If Next i End Sub (???) 2015/04/23(木) 13:53
100枚のシートで、ボタン4つをコピーした後、その位置を変更するのが、ちょっと大変なら。 同じくシートモジュールに。
Sub Test2()
Dim btn As Button Dim sh As Worksheet
For Each sh In Worksheets If sh.Name <> Me.Name Then sh.Activate For Each btn In Buttons
sh.Range(btn.TopLeftCell.Address).Activate btn.Copy sh.Paste Next End If Next
End Sub
(β) 2015/04/23(木) 14:58
移動がありバタバタしてなかなかこの作業が出来ない状況にあります。
みなさんの教えていただいたのを参考に、すべて試してみたいと思います。
また頭を抱え込むことになったら、みなさんに助けていただくことになるかもしれません。
その時は、よろしくお願いします。
ありがとうございました。
(ANGY) 2015/04/29(水) 14:45
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.