
ws.copy Before:=Workbooks(File).Sheets(1)
Windows(File).Activate
Cells.Select
Selection.copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
上記コードで、シートのコピー・貼付を行っていますが、
コピー元シートのコードも引き継がれてしまいます。
引き継がれないようにコピーしたいのですが、可能でしょうか?
可不可について、
可能ならばそのやり方(コード)を教えていただけないでしょうか?
よろしくお願いします。
No.4ベストアンサー
- 回答日時:
こんにちは
ご質問で求められている結果に対する理解が不充分かも知れませんが、
シート(ws)のコピーを、ブック(file)Sheet1の直前に 挿入
作成したシートの、数式の戻り値を 値に 直す
シートモジュールのコピーを除いたコード、、、
というお話だと理解しました。
#2さんと殆ど同じなのですが、
元のシート(ws)の書式が新しいシートに反映されるようになってます。
コメントはコピーされますが、他のShapeは残りません。
もし、Shapeまでコピーするのでしたら、別途、ご質問されるとよいと思います。
#3も禁じ手と仰っていますが、
VBAのコードそのものを書き換える方法は、
それ以外に方法がない場合の非常手段だとしても、
余程パーソナルな用途でしか考えない方が良いです。
仕事で使うことが内規違反になる可能性もあるし、
使えない環境もありますので、
私も回答には書きたくないですね。
◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇
Sub TEST()
Const sFile As String = "ファイル名.xls" ' ※
Dim ws As Worksheet ' ※
Application.ScreenUpdating = False ' ※
Set ws = ThisWorkbook.Sheets(1) ' ※
With Workbooks(sFile).Worksheets
With .Add(Before:=.Item(1))
ws.Cells.Copy .Cells
.UsedRange.Value = .UsedRange.Value
.Activate
Application.ScreenUpdating = True ' ※
' MsgBox "Done" ' ※
' .Delete ' ※
End With
End With
End Sub
◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇
' ※ の行は、便宜的な記述です。
ご質問と関係ないことを書くことを、お許し下さい。
どうしても書いておきたいので、、、
Wendy02 さん
あなたがいないと、困ります。
出来れば、考え直して頂きたいけれど、
多く学ばせて頂いた一人として、感謝しています。
ありがとう ござい ます!!
ご回答、ありがとうございました。
ご理解、まさにその通りです。
私が詳細を記述しなかったのでたいへんお手数をおかけしました。
なるほど、私にとって禁じ手を使用するのはまだ危険なようですね。
もう少し上達してから、参考にさせていただきます。
追伸:私もWendy02さんには非常に助けられた一人です。
何かあったのか存じ上げませんが、
Wendy02さんはじめこのカテに回答してくださる皆様、
今後ともよろしくお願いします。
No.3
- 回答日時:
可能ですが、推奨はできません。
禁じ手とか。コピーされたコードを削除すればいいですよね。
貼り付けられたSheetの名前のコードを削除する。
参考
http://okwave.jp/qa3859010.html
の
ANo.4
ご回答ありがとうございます。
リンク、拝見しました。
私のような初心者には厳しいというかやらない方がよさそうですね、
おっしゃるとおりです。
>注意
うまくできないとExcelの動作がおかしくなることがあるかもしれない。
→怖いですね。
コピー元の方は半年かけて作成した大作(自分的に^^;)なので
リンク先のやりとりはローカルに保存させていただき、
もっとVBAスキルが向上したら使わせていただくかもしれません。
No.2
- 回答日時:
こんばんは。
ws.copy Before:=Workbooks(File).Sheets(1)
ws を明記していませんし、前の部分でどんな設定されているかは、想像の範囲しかありませんが、おそらく、その部分で、シートのマクロのコピーが出来ています。
'-------------------------------
Set ws = ThisWorkbook.Worksheets(1)
With Workbooks(File).Sheets.Add(Before:=Workbooks(File).Sheets(1))
ws.Cells.Copy
.Range("A1").PasteSpecial Paste:=xlPasteValues
.Name = ws.Name & "_" 'シート名の設定
End With
'-------------------------------
Wendy02さん、いつもお世話になっています。
私、いつまで経っても初心者の域を抜け出せず、お恥ずかしい限りです、、、。
ご想像の通りです。
教えていただいたソース、参考にさせていただきます。
No.1
- 回答日時:
私がモジュール1にVBAコードのある、あるブックを開いて、シートの範囲指定して、コピーし、新しいエクセルを開きSheets(1)に貼り付けました。
保存して開きましたが、モジュール1は現れません。
事実は間違いないですか。
Personal.xlsとの関連(そっちを見ていること)無いですか。
http://www.relief.jp/itnote/archives/002060.php
>PERSONAL.XLSファイルが存在している場合、Excelが起動する際に非表示状態でPERSONAL.XLSも一緒に開かれているので、個人用マクロブックに保存したマクロは、どのExcelファイルからでも利用することができるようになっています。
この回答への補足
失礼しました!
私のもある意味範囲指定でした(シート全体を範囲指定している、という意味でした)。
お礼欄は上記を読み替えてください。申し訳ありません。
ご回答ありがとうございます。
>シートの範囲指定して、コピーし、新しいエクセルを開きSheets(1)に貼り付けました。
いえ、私の場合はシートそのものを別ブックにコピーしています(範囲指定ではない)。
また標準モジュールではなく、シートモジュールのコードがそのまま引き継がれないことが希望なのですが、、、。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル VBAでシートのコピーを作りたい 1 2023/05/18 07:42
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Visual Basic(VBA) 別ブックからシートのコピー 3 2022/04/01 20:07
- Visual Basic(VBA) 動きっぱなしです。止め方とプロシージャの間違いを教えて下さい! 5 2022/08/15 23:08
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Visual Basic(VBA) 集計シートA列のコードと一致する右に並んだシート名(コード)の3行目から10行目をコピーして貼り付け 4 2022/08/18 15:24
- Excel(エクセル) シートが違う2枚のエクセルシートにある数値を別シートにコピーしたい(VBA?) 8 2022/03/31 12:24
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/26 09:50
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
このQ&Aを見た人はこんなQ&Aも見ています
-
見学に行くとしたら【天国】と【地獄】どっち?
みなさんは、一度だけ見学に行けるとしたら【天国】と【地獄】どちらに行きたいですか? 理由も聞きたいです。
-
「これはヤバかったな」という遅刻エピソード
寝坊だったり、不測の事態だったり、いずれにしても遅刻の思い出はいつ思い出しても冷や汗をかいてしまいますよね。
-
もし10億円当たったら何に使いますか?
みなさんの10億円プランが知りたいです!
-
洋服何着持ってますか?
洋服を減らそうと思っているのですが、何着くらいが相場なのかわかりません。
-
思い出すきっかけは 音楽?におい?景色?
記憶をふと思い出すきっかけは 音楽、におい、景色 どれですか?
-
EXCELのVBAでシートコピーをしたとき元のマクロを削除するには?
Excel(エクセル)
-
(Excel VBA)シートコピー時マクロはコピーしたくない
Excel(エクセル)
-
マクロ ブックをマクロなしでコピー
Access(アクセス)
-
-
4
【ExcelVBA】マクロの入ったシートをコピーしても新しいシート内でマクロを動作させるには?
Excel(エクセル)
-
5
マクロを消すマクロは不可能?
Excel(エクセル)
-
6
マクロでマクロを削除する
Excel(エクセル)
-
7
特定のシートの削除を禁止したい(ブックの保護でなく)
Excel(エクセル)
-
8
VBAでマクロを使って、マクロ無効のエクセルシートとして名前を付けて保
その他(Microsoft Office)
-
9
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
10
Excel VBA マクロ シートコピー
Visual Basic(VBA)
-
11
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
12
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
13
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
-
14
エクセルVBA 作業後に選択範囲を解除する方法
Excel(エクセル)
-
15
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
16
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
17
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
18
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
19
ExcelVBA EnableプロパティがFalseの時に文字の色を変えたくない
Visual Basic(VBA)
-
20
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの選択範囲以外を削除...
-
Excel 関数を使ってデータと一...
-
EXCELのVBAでシートコピーをし...
-
Excelの行をコピーして貼り付け...
-
EXCELで別のブックから式をコピ...
-
Excel シートのコピーの際、ペ...
-
VBA シートをコピー後、ボタン...
-
【Excel VBA】シートコピー時、...
-
EXCEL2007でシートをコピーする...
-
Excel 数式の保護をしたセルを...
-
EXCEL VBA シートをコピーする...
-
エクセルシートを別のエクセル...
-
PDFファイルをコピーしてエクセ...
-
【VBA】コピー&複数個所のペー...
-
エクセルVBAですが教えてくださ...
-
シートが保護されていないのに...
-
エクセルのワークシートをUSBメ...
-
ExcelVBAで、ユーザーフォーム...
-
エクセルのページをシートごと...
-
【エクセル】プルダウン設定の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの選択範囲以外を削除...
-
Excel 関数を使ってデータと一...
-
EXCELのVBAでシートコピーをし...
-
Excelの行をコピーして貼り付け...
-
EXCELで別のブックから式をコピ...
-
Excel シートのコピーの際、ペ...
-
Excel 数式の保護をしたセルを...
-
エクセルの1シートの内容を複...
-
エクセルシートを別のエクセル...
-
エクセルでシートを「移動また...
-
エクセルのワークシートをUSBメ...
-
【VBA】コピー&複数個所のペー...
-
シートが保護されていないのに...
-
PDFファイルをコピーしてエクセ...
-
ExcelVBAで、ユーザーフォーム...
-
【Excel VBA】シートコピー時、...
-
エクセルVBA 1行飛ばしで転記す...
-
【エクセル】プルダウン設定の...
-
エクセルのページをシートごと...
-
ページの設定を別シートにコピ...
おすすめ情報