締切済み Excel VBAでシートのコピーをできなくするには 2007/06/10 17:41 Excel VBAで シートのコピー及びシートの新規挿入を出来なくする事はできるでしょうか? どなたかご教示お願いいたします。 みんなの回答 (2) 専門家の回答 みんなの回答 gatt_mk ベストアンサー率29% (356/1220) 2007/06/10 19:22 回答No.2 シート構成の変更を禁止するには「ブックの保護」-「シート構成」にチェックを入れればできます。 VBAでやるなら ActiveWorkbook.Protect Structure:=True, Windows:=False でしょう。 質問者 お礼 2007/06/10 20:38 ありがとうございました。 ちゃんとできました。 通報する ありがとう 0 広告を見て他の回答を表示する(1) Nayuta_X ベストアンサー率46% (240/511) 2007/06/10 19:02 回答No.1 ないと 思ってください。 あるには、あるらしいのですが、かなり危険なので、お勧めできません。 理由: エクセルなど開けなくなりますから。 通報する ありがとう 0 カテゴリ パソコン・スマートフォンソフトウェアオフィス系ソフト 関連するQ&A ExcelのVBAでシートのコピー Excel2000 Win2000 複数(最低5)のシートが存在するExcelのBookでExcelのVBAを使用して strSheetName="XXX1" intSheetNo = 1 Sheets(strSheetName).Copy after:=Sheets(intSheetNo) とシートのコピーをしています。 この時コピーされたシートのインデックスが2にならないんですが、何故なんでしょ? やりたい事はコピーしたシートの名前をExcelが勝手につけた名前から変更したいんです。 コピーされたシートのインデックスが2になると思っていたので上手く行きません。 Sheets(intSheetNo + 1).Name = "XXX1-1" excel vba シートがなければコピーしたい excel vba で教えてください sheet名0を雛形に、使用者が1 2 3のsheet名でコピーして利用できるようにしたい。1はあるのでコピーを作らない。2はないのでsheet名0をコピーして作るといったように現在sheet2があるや否やで作成するや否やを判断してsheet copyをしたい。 すべてのsheet を名前をしらべつつ判断したいのです 教えてください Excelのシートのコピー 現在268枚のシートが入ったファイルがあります。 1つ1つのシートはそれほど情報量が多いわけでもなく、大体印刷すると1ページにおさまるほどの量で 色もあまり使っていなく、単なる文字&表くらいです。 このファイルにあるシートを「移動またはコピー」を選んでコピーをすると、エラーは出ませんが、コピーできません。 移動はできます。 単に「挿入-新規シート」を選ぶと新規にワークシートを挿入することは出来ます。 (試しに370枚までやってみましたが、何のエラーも出ませんでした。) また、このファイルのシートを「移動またはコピー」で他の新規ブックにコピーしようとしてもできません。 移動はできます。 手作業ではなく、VBAではどうかと思いやってみましたが、やはりコピーはダメで移動はOKでした。 これはいったいなぜなのでしょうか? Excelは2000です。 2台のPCで試してみましたが、どちらでもダメでした。 ヤバいパソコンが壊れたかも!?事前に知っておきたい3つの兆候と対策 OKWAVE コラム Excelでシートコピーすると幅が変わる 閲覧ありがとうございます。 Excel 2019で「シートの移動またはコピー」で、シートを新しいブックにコピーすると、幅が変わってしまいます。 同じブック内だと変わらないようです。 どうやら、全くサイズを変更していないセルの幅も違うようです。 シートをコピーする作業はVBAで行っています。 解決方法が良くわからず、質問させていただきました。 ・Excelのオプション変更で解決する方法 ・違う環境で同じExcelブックのVBAを使っても、幅が変更されない方法 できればどちらもご教示いただきたいです。 よろしくお願いいたします。 Excel VBAで複数シートをコピーする Excel VBAで複数のシートを新たらしいブックにコピーする方法が分かりません。 一応、Selectで全てのシートを選択し コピーする方法は分かるのですが 出来ればSelectなどの画面遷移をプログラム内に含ませたくありません シートは n件存在します。 ご存知の方がおられましたら ぜひ、教えて頂けないでしょうか? EXCEL VBA シートの名前を指定してコピー EXCEL VBA 初心者です。 とても困っています。 助けてください。 excel2010を使っています。 今,「原本」というシートがあり,それをマクロを使って同じブック内にコピーしたいと思っています。 コピーして新しく作られたシートの名前は「A1」のセルに入力されている値にしたいです。 コピーされた後のシートにはマクロボタンは削除したいと考えています。 また,コピーした後のアクティブシートは「原本」のシートにしたいのですが これを全部いれたコマンドはどのようになるのでしょうか。 似たような質問だったり,回答があるのですが, どのように組み合わせたらいいのかよく分かりません。 どなたかお助けいただけないでしょうか。 よろしくお願いします。 VBAでHPをエクセルシートへコピーしたい 現在、IEであるHPを表示し、IEですべて選択しコピー、 エクセルのシートへ貼り付けを行っております。 (ただ単にコピペし、レイアウトはエクセルにお任せです) この作業をVBAで自動化したいと思っております。 objIEを使ってやると思っているのですが、ソースを参照する方法等は探せましたが、ただ単にコピペする方法が分かりません。 このような事は、可能でしょうか? アドバイスをお願いします! VBAでファイルのシートをコピーしたい。 VBAでファイルのシートをコピーしたい。 現在、FileCopyでEXCELファイルをコピーしていますが、特定のシートだけコピーしたいのですが、、 (現在の一部です) FileCopy fs.FoundFiles(i), "C:\集計" どのように書き換えればよいのでしょうか? 宜しくお願いします。 VBAで別エクセルファイルから指定エクセルファイルにシートをコピー Office2003のエクセルでVBAを勉強しております。 そこで、VBAで別エクセルファイルからあるシートを指定エクセルファイルへ丸まるコピーしたい場合にはどのようにすればよいのでしょうか? VBAの全シートコピー VBAの全シートコピー シート1~4まであるとします プログラムで全シートを順番に読んでいきます。 シート1で範囲を決めてコピーします。コピーはRange(Cells(2, 1), Cells(??, 10)).Copy を使いたいです。違う方法があるなら。 そしてシート4に貼り付けます。 そして次にシート2を読む・・・同じ そしてシート3を読む・・・同じ そんなプログラムがほしいです。 分かるかた知恵を貸してください。 お願いします。 EXCEL VBA ワークシートのコピーについて seaclearsky8です。 一つのブックに何枚ものワークシートを追加して保存するVBAについて ご教授、よろしくお願いします。 コピー元 MASTER Book MASTER Workseets コピー先 Copy Book copy Worksheets コピー元にはワークシートがMASTERワークシートの一枚しかありません。 その一枚のワークシートに値をVBAで入れていき処理し コピー先のコピーBOOKにワークシートをコピーしていきたいです。 しかし、MASTERBOOKの処理が何通りかあり、 コピー元の一枚のワークシートに 処理別にデータを写し コピー先BOOKに ワークシート名 ワークシート1 処理1ワークシート ワークシート2 処理2ワークシート ワークシート3 処理3コピー元ワークシート3 という具合にワークシートを複数コピーしたいのですが 処理ごとにデータを代入し、コピー処理はできるのですが。 コピー先BOOK ワークシート3 処理3ワークシート だけしかコピーされてないBOOKが作成されます。 上書きされているのだと思われます。 対処法が調べましたが見つけられていません。 すいませんが対処法及び参考VBA等ご教授宜しくお願いいたします。 【VBA】シートのコピー ~ 値に直す 大変お世話になります。 VBAのコードについてご教示いただけませんでしょうか。 ■やりたいこと -------------------------------------------------------------------------------- (1) 【原紙】Sheetを、同ブック内の新規シートへコピー (2) 新規シートのシート名を、[セル:B5]の値に変更 (3) 新規シートにコピーされてきた数式を値に変更 ■作成してみたコード -------------------------------------------------------------------------------- Sub SheetCopy1() Worksheets("【原紙】Sheet").Copy Before:=Worksheets("【原紙】Sheet") ActiveSheet.Name = Range("B5").Value Cells.Select Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False End Sub -------------------------------------------------------------------------------- 本日初めてVBAに触れた者が、見よう見まねで『■やりたいこと』を並べたコードのため、やはりエラーになってしまいます。 上記は、どこをどう直せばよろしいでしょうか。 もしくは、そもそも間違っておりますでしょうか。 ご教示いただきたく、何卒よろしくお願いいたします。 ◎もし可能でしたら、併せてご教示ください◎ ---------------------------------------------------------------------------- (1)の動作をさせるために、【原紙】Sheetの任意の場所に”ボタン”を設置するのですが、新規シートにもコピーされるため、そのコピー側のボタンを削除できたら…とも考えていますが、そういう動作も可能でしょうか。 家のネットワークを最適にできますか?:知っておくべきポイント OKWAVE コラム Excel VBA別ブックのシートをコピーするには Excel2010のVBAで別ブックのシートをコピーしてくる方法 Excelファイル(C:\test\BOOK2.xls)のシート名が TESTというシートを自分のExcelファイル(C:\doc\BOOK1.xls)に コピーするにはどのように記述すればよいのでしょうか。 ・コピー先:自分のExcelファイル(C:\doc\BOOK1.xls) VBAのコードがあるファイルです ・コピー元:C:\test\BOOK2.xlsのTESTシート なお、TESTシートを持つ同じ名前(BOOK2.xls)のファイルが 別フォルダにもあります Workbooks( )の引数にファイル名(BOOK2.xls)は指定できるのですが、 フルパス名(C:\test\BOOK2.xls)で指定できないので困っています。 EXCEL VBA ワークシートのコピーについて seaclearsky8です。 一つのブックに何枚ものワークシートを追加して保存するVBAについて ご教授、よろしくお願いします。 コピー元 MASTER Book MASTER Workseets コピー先 Copy Book copy Worksheets コピー元にはワークシートがMASTERワークシートの一枚しかありません。 その一枚のワークシートに値をVBAで入れていき処理し コピー先のコピーBOOKにワークシートをコピーしていきたいです。 しかし、MASTERBOOKの処理が何通りかあり、 コピー元の一枚のワークシートに 処理別にデータを写し コピー先BOOKに ワークシート名 ワークシート1 処理1ワークシート ワークシート2 処理2ワークシート ワークシート3 処理3ワークシート という具合にワークシートを複数コピーしたいのですが 処理ごとにデータを代入し、コピー処理はできるのですが。 コピー先BOOK ワークシート3 処理3ワークシート だけしかコピーされてないBOOKが作成されます。 上書きされているのだと思われます。 対処法が調べましたが見つけられていません。 すいませんが対処法及び参考VBA等ご教授宜しくお願いいたします。 エクセルVBAで、シートをコピーした際、コピーされた新しいシートのほう エクセルVBAで、シートをコピーした際、コピーされた新しいシートのほうを指定する言葉を知りたい。 コマンドボタンにて、(1)内訳用シートをコピーで増やす。(2)新しいシートの番号を連番になるよう1増やす。(3)新しいシートのほうは入力しやすいよう、入力欄を消去する。シート名も1.2.3...とふえていくようにしたい。 新しくコピーされたほうのシートを指定したい場合はどのようなVBA用語になりますか? いまは、元のシート指定方法しかわからないため、元シートの前にコピー作成し、元シートのNoを1増やし、データ消去で対応していますが、これだと、シート名に表示される内訳(1)(2)・・という番号になるので、できれば、コピーしたほうのシートを指定して、Noを1増やし、データ消去できれば解決するとおもうので。。いま、使ってるVBAはこんな式です。 ちなみにK6はシートNo、("B10:H30")("J10:K30")は入力欄です。 Private Sub CommandButton1_Click() ActiveSheet.Copy Before:=ActiveSheet Range("K6").Value = Range("K6").Value + 1 Range("B10:H30").ClearContents Range("J10:K30").ClearContents ActiveSheet.Select ActiveSheet.Name = Range("K6").Value End Sub VBA シートのコピー シートをコピーし、挿入をシートの末尾にする場合はどうなりますか? マクロを使ってやったときに、20のシートがあったため、下記のようになりますが、これだと、2回目以降にコピーしたとき20番目に挿入されて末尾には移動しないですよね。 そこは、どうしたらいいですか?? シート名「あああ」 Sheets("あああ").Copy After:=Sheets(20) お願いします。 Excel VBA シートのコピー時に、シート上のコンボボックスもコピーしたい。 こんにちは。 Excel VBAについて質問させていただきます。 やりたいことは、 シートAにボタンとコンボボックスを配置し、 コンボボックスには氏名の一覧を設定しています。 そこで、ボタンを押すとシートAをボタンとコンボボックスごと シートBという名前でコピーをしたいと思っています。 ActiveSheet.Copy Before:=Worksheets(1) でシート・ボタン・コンボボックスのコピーはうまく出来たのですが、 コンボボックスに設定していた氏名の一覧はコピーされていませんでした。 コピー先のシートのコンボボックスにもう一度氏名の一覧を 設定するしかないのでしょうか? それともシートのコピー時に何かいい方法があるのでしょうか。 宜しければアドバイスをお願い致します。 OSはWindows2000Pro Excelは2000です エクセルVBAシートの複製と、コピーに関して 以下のようなVBAを使用したいと思っています。 回答.xlsというエクセルファイルに、 回答者233名分の回答が一名一列に並んでいます。 この回答を、一名ずつ違うシートで分析したいと思っています。 その際、下記動作をVBAで行ないたいのですが、うまくいきません。 行ないたい動作は2列目から234列目までの各列に対して、 1,【分析】という名前のシートを複製し、一名一列(A列-AS列)の値を各1列目にコピー 2,コピーしたシートの名前を【分析-x】x=A列目の値とする 以上です。 お忙しいところ大変恐縮ではございますが、ご教授頂けると幸いでございます。 エクセルのVBAで、開いているブックのシート数を知りたいのですが。 エクセル97で入力したシートをVBAプログラムで最後のシートの後ろにコピーするようにしています。何枚になるかはデータ量によりシート数が違ってきます。 処理が終了した後、コピーしたシートが何枚有るのかをVBAで把握する方法なり、コマンドなりを知りたいのですが。 ご存じの方教えて下さい。 エクセルVBAのコピーについて 初心者です。 表を別のシートにコピーしたいのですが、列と行の幅がコピーされません。どうすれば列と行のコピーができるのでしょうか。 pastespecial で引数を指定するのでしょうが、formats ではないでしょう? copy destination:= で別のシートにコピーをしても罫線の行と列の幅が元の幅と異なってしまいます。教えて! エクセルで形式を選択してコピーで、すべてをコピー、でも同じ現象が起きます。列をコピーしてから、すべてをコピーするとうまく行くのですが、VBAではどう書けばいいのでしょうか。 注目のQ&A 「You」や「I」が入った曲といえば? Part2 今も頑なにEメールだけを使ってる人の理由 日本が世界に誇れるものは富士山だけ? 自分がゴミすぎる時の対処法 妻の浮気に対して アプローチしすぎ? 大事な物を忘れてしまう 円満に退職したい。強行突破しかないでしょうか? タイヤ交換 猛威を振るうインフルエンザ カテゴリ パソコン・スマートフォン ソフトウェア Excel(エクセル)Word(ワード)PowerPoint(パワーポイント)Access(アクセス)その他MS Office製品オフィス系ソフトPhotoshop(フォトショップ)Illustrator(イラストレーター)その他Adobe製品画像・動画・音楽編集ホームページ作成ソフト筆まめ・はがき作成フリーウェア・フリーソフトその他(ソフトウェア) カテゴリ一覧を見る あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など
お礼
ありがとうございました。 ちゃんとできました。