プロが教えるわが家の防犯対策術!

エクセル2007をしています

マクロで次のような設定をしました

取り込んだデーターを別のエクセルファイルへコピー

数式が入っているので全体を値コピー

マクロボタンを削除

終了

ですがマクロボタンが消えません

元ファイルには必要ですがコピーしたものには必要ありません

マクロボタン削除を実行させるためにはどうすればいいですか

A 回答 (5件)

No.3の回答者です。



No.2の補足についている内容を見ましたが、「ボタンを削除」というコードは含まれていないようです。ムダも多いようですよ。

これくらいのコードを読み解くようにしないと、マクロを使うのは危険です。データを破壊する可能性がありますから。

とりあず次のようなコードを追加すれば実現できると思いますけど、「ボタン 1」というのは、ボタンについているオブジェクト名で、これはそのときによって違いますし、コピーした際などに変化することもあるので扱いがちょっと面倒です。

ActiveSheet.Shapes("ボタン 1").Delete

コードを拝見したところ、シートを複製して挿入する必要性はなく、別ブックに新規シートを用意して、そちらに「データ変換」シートのセルをコピーして値貼り付けすればいいのでは?

この回答への補足

試してみましたが解決しませんでした

マクロははじめたばかりでドシロウトです

あなたの言うとおり

コードにはそれらしきものがありませんね

読むのを忘れてました

エクセルには便利な機能があり

マクロは自動作成なのでそこまで目がいきとどきませんでした

これからはコードにも注目したいと思います

解決に向けて自分でも頑張ってみます

補足日時:2008/06/22 07:28
    • good
    • 3
この回答へのお礼

コードを解読できました(^_^;

マクロを組み直したらボタンの削除できました

わからないときはコードを読めば解決かしら

とても役に立ちましたm(_ _)mペコリ

お礼日時:2008/06/22 08:46

#1です。



>試してみましたが解決しませんでした

マクロがエラーになったのでしょうか?
だとしたらどこでエラーになったのでしょうか?
どのようなマクロを組んだのでしょうか?

この回答への補足

マクロはエラーになってません。

コピーしたシートを別ファイルに移動したあとの

「マクロボタンを削除」が実行されません

補足日時:2008/06/21 12:49
    • good
    • 0

確かに、どんな設計になっているかが大変重要だと思います。


ただ、どうもセルのコピーをした際に、マクロボタンも貼り付けられて、その貼り付けられたボタンを削除したいということなのでは?

だとしたら、そもそもボタンは貼り付けられないようにすれば済む話かもしれません。マクロボタンを右クリックして、[コントロールの書式設定]コマンドを実行し、[プロパティ]パネルで[セルに合わせて移動やサイズ変更をしない]オプションをオンにすれば、セルをコピーする際にボタンは貼り付けられなくなると思います。
手作業で確認できると思いますから、試してみてください。

この回答への補足

試してみましたが解決しませんでした

補足日時:2008/06/15 08:01
    • good
    • 1

直接の回答でなくて申し訳ないが・・・・・


>マクロで次のような設定をしました
っとありますが、目的を文章化するのではなく、実際にはVBAにどのように記述されているのかによって、回答が違ってくるかもしれません。
特に、"マクロボタンを削除"の部分は、記述の仕方があっているのか?ミスタイプはないか?等々
意外と本人が気がつかない所でミスが紛れ込んでいるかも知れません。
そもそも"マクロボタン"はどういう風に作ってありますか?
ツールバーに作ったのか?シート上にフォームやオートシェイプで作ったのか?
また、"ですがマクロボタンが消えません"っとありますが、このときマクロはエラー表示で止まるのでしょうか?
それとも、何らかの処理をしているようでマクロ自体は終了しているが、ボタンが消えないのか?
この辺りを、もう少しハッキリさせると、より的確なアドバイスがもらえるかも知れませんよ。

この回答への補足

Sub Macro4()
'
' Macro4 Macro
'

'
Range("M15").Select
Sheets("データ変換").Select
Sheets("データ変換").Copy Before:=Workbooks("でぶ管理200806から.xls").Sheets(1)
Selection.Cut
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = ""
Range("J3").Select
ActiveCell.FormulaR1C1 = ""
Range("H3").Select
End Sub

表示は上記のようです

お願いします

補足日時:2008/06/15 08:04
    • good
    • 0

別ブックから対照のブックを操作するようにすれば、


マクロでマクロを削除などの作業は不要になります。

Dim wb As Workbook
Set wb = ActiveWorkbook
MsgBox Wb.Worksheets(1).Cells(1,1).Value
Set wb = Nothing

この回答への補足

試してみましたが解決しませんでした

補足日時:2008/06/15 08:12
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング