• 締切済み

Excel VBAでシートのコピーをできなくするには

Excel VBAで シートのコピー及びシートの新規挿入を出来なくする事はできるでしょうか? どなたかご教示お願いいたします。

みんなの回答

  • gatt_mk
  • ベストアンサー率29% (356/1220)
回答No.2

シート構成の変更を禁止するには「ブックの保護」-「シート構成」にチェックを入れればできます。 VBAでやるなら ActiveWorkbook.Protect Structure:=True, Windows:=False でしょう。

bird-land
質問者

お礼

ありがとうございました。 ちゃんとできました。

  • Nayuta_X
  • ベストアンサー率46% (240/511)
回答No.1

ないと 思ってください。 あるには、あるらしいのですが、かなり危険なので、お勧めできません。 理由: エクセルなど開けなくなりますから。

関連する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で試してみましたが、どちらでもダメでした。

  • 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を読む・・・同じ そんなプログラムがほしいです。 分かるかた知恵を貸してください。 お願いします。

専門家に質問してみよう