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代の知り合いと話した際、フロッピーディスクの実物を見たことがない、と言われて驚きました。今後もこういうことが増えてくるのかと思うと不思議な気持ちです。
-
あなたにとってのゴールデンタイムはいつですか?
一週間の中でもっともテンションが上がる「ゴールデンタイム」はいつですか? その逆で、一週間でもっとも落ち込むタイミングでも構いません。 よかったら教えて下さい!
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
プリン+醤油=ウニみたいな組み合わせメニューを教えて!
プリンと醤油を一緒に食べると「ウニ」の味がする! というような意外な組み合わせから、新しい味になる食べ物って色々ありますよね。 あなたがこれまでに試した「組み合わせメニュー」を教えてください。
-
タイムマシーンがあったら、過去と未来どちらに行く?
20XX年、ついにタイムマシーンが開発されました。 あなたは過去に行く? それとも未来? タイムマシーンにのって、どこに行って、何をしたいか教えてください!
-
EXCELのVBAでシートコピーをしたとき元のマクロを削除するには?
Excel(エクセル)
-
(Excel VBA)シートコピー時マクロはコピーしたくない
Excel(エクセル)
-
マクロ ブックをマクロなしでコピー
Access(アクセス)
-
-
4
【ExcelVBA】マクロの入ったシートをコピーしても新しいシート内でマクロを動作させるには?
Excel(エクセル)
-
5
マクロを消すマクロは不可能?
Excel(エクセル)
-
6
マクロでマクロを削除する
Excel(エクセル)
-
7
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
-
8
エクセル ボタンに設定したマクロごとボタンをコピー
Excel(エクセル)
-
9
Excel VBA マクロ シートコピー
Visual Basic(VBA)
-
10
VBAでシートコピー後、シート名が重複している時の処理
Access(アクセス)
-
11
VBAでマクロを使って、マクロ無効のエクセルシートとして名前を付けて保
その他(Microsoft Office)
-
12
UserForm1.Showでエラーになります。
工学
-
13
【VBA】ワークブックを開く時にエラーが出る場合と出ない場合の違いは?
Excel(エクセル)
-
14
名前をつけて保存した後、元のファイルに戻るには
その他(コンピューター・テクノロジー)
-
15
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
16
Excel-vba 文字列と変数を連結して更に変数として扱いたい
その他(プログラミング・Web制作)
-
17
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
18
EXCEL VBAで、セルの文字列の前後に文字を入力する方法は?
その他(Microsoft Office)
-
19
エクセルVBAでNumLockキーの状態を確認する
Excel(エクセル)
-
20
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの選択範囲以外を削除...
-
Excel 関数を使ってデータと一...
-
PDFファイルをコピーしてエクセ...
-
Excel シートのコピーの際、ペ...
-
EXCELで別のブックから式をコピ...
-
EXCELのVBAでシートコピーをし...
-
Excelの行をコピーして貼り付け...
-
エクセルでシートを「移動また...
-
エクセルのワークシートをUSBメ...
-
【エクセル】プルダウン設定の...
-
エクセルシートを別のエクセル...
-
EXCEL VBA シートをコピーする...
-
エクセルVBA 1行飛ばしで転記す...
-
ページの設定を別シートにコピ...
-
エクセルの1シートの内容を複...
-
Excel 数式の保護をしたセルを...
-
エクセルで、開くのに時間のか...
-
ExcelVBAで、ユーザーフォーム...
-
【Excel VBA】シートコピー時、...
-
【VBA】コピー&複数個所のペー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの選択範囲以外を削除...
-
Excel 関数を使ってデータと一...
-
EXCELのVBAでシートコピーをし...
-
Excelの行をコピーして貼り付け...
-
EXCELで別のブックから式をコピ...
-
エクセルでシートを「移動また...
-
Excel 数式の保護をしたセルを...
-
エクセルのワークシートをUSBメ...
-
Excel シートのコピーの際、ペ...
-
エクセルシートを別のエクセル...
-
エクセルの1シートの内容を複...
-
【VBA】コピー&複数個所のペー...
-
【Excel VBA】シートコピー時、...
-
ページの設定を別シートにコピ...
-
VBA シートをコピー後、ボタン...
-
【エクセル】プルダウン設定の...
-
PDFファイルをコピーしてエクセ...
-
ExcelVBAで、ユーザーフォーム...
-
エクセルのページをシートごと...
-
シートが保護されていないのに...
おすすめ情報