• ベストアンサー

マクロでのみ変更可能なセルの設定

エクセルで 普段は勝手にセルを変更されたくないのでロックするのですが マクロで動作させたときのみセルの内容を変更をさせたいです こんな設定でできるでしょうか よろしくお願いします

  • LV314
  • お礼率44% (92/206)

質問者が選んだベストアンサー

  • ベストアンサー
  • silverfd
  • ベストアンサー率57% (204/356)
回答No.1

次のようにすれば、可能です。sheetpassは、シートのパスワードを格納した変数ということで。 ActiveSheet.Protect UserInterfaceOnly:=True, passWord:=sheetpass 毎回、立ち上げるたびにこのコードを通すようにします。 あと、2003の場合はオートフィルタとかアウトラインを使えるようにもしておきたいと思うので、これも追加しておいて下さい。 ActiveSheet.EnableAutoFilter = True ActiveSheet.EnableOutlining = True

LV314
質問者

お礼

ありがとうございます 参考にさせて頂きます

関連するQ&A

  • Excel2000でセルの書式設定を変更させたくない

    Excel2000でセルの書式設定を変更させたくない Excel2000を使用しています。 Excel2002?以降では、書式設定を保護できるらしいですが、2000ではそのような機能がありません。でも、データを貼り付けた際に書式設定を変更させたくないのですが、何か方法がありますでしょうか? 具体的には、シート内のある範囲内(B3-F43)までを書式設定で「縮小して全体を表示」に設定してあり、「折り返して全体を表示する」のチェックを外してセル1行で表示するよう設定しています。 ここに改行付きの文字列データをコピーして貼り付けると、「折り返して全体を表示する」に勝手にチェックが入ってセル1行では表示しきれなくなり、文字全体が読めなくなるのですが、この勝手にチェックされてしまう「折り返して全体を表示する」のチェックをマクロを使って、自動で外す方法とかありますでしょうか? とりあえず現状は貼り付け前に一度、テキストエディタで改行を削除する編集をしてからデータを貼り付けるようにしてるのですが、面倒なのでできれば改行付きデータを直接Excelに貼り付けても「折り返して全体を表示する」にチェックが入らないようにしたいのです。 マクロの知識はまったくないので、どなたかお知恵を貸していただけないでしょうか? 現在、他の件でマクロを教えていただいて、Thisworkbookという所に、Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)とかいうマクロを記述してあります。 Excelデータを上書きセーブする際にこのマクロが走るようなんですが、これに追記する形で、B3からF43までのセルの書式設定の「折り返して全体を表示する」のチェックを強制的に外すことができると助かるのですが。 同じシート内に、「折り返して全体を表示する」を使用しているセルもあるので、シート全体の書式設定を変えてしまうのではなく、あくまでB3からF43までの範囲のセルで設定したいのですが、こういうことはマクロで可能なのでしょうか?

  • マクロで画像の倍率変更方法

    いつもお世話になっております。 現在マクロでエクセルに貼り付けた図の倍率を変更することができるか調べているのですがどこにもありません。 普段は図の書式設定→サイズ→倍率の高さの数値を変更 という動作を行っているので、この操作をマクロでできる方法を知っている方がいらっしゃいましたらお教えください。

  • エクセルでセルの値が変更されたらマクロを実行

    エクセルで、セルの値が変更されたらマクロを実行したいと考えています。 具体的には、A1のセルに何か値が入力されるか、変更されたら、 作成したマクロを実行したいと考えています。 どうしたらいいのでしょうか。 ご教授ください。 よろしくお願いします。

  • ExcelマクロでCSVを開くと勝手に変更される項目があります

    ExcelマクロでCSVを開くと勝手に変更される項目があります Excel2003のマクロでの質問なのですが。 AAAというCSV形式のファイルに「3-90」という項目があります。 Excelから、ファイル - 開く - AAA.CSV で呼び出したときはセルに「3-90」と表示されます。 ところがマクロから Workbooks.Open Filename:="C:\Book1.csv" を実行して開くと「3-90」が「Mar-90」と表示され、セルの内容も「1990/3/1」と勝手に変換されて しまいます。 解決策ありましたら、教えてください。 できたら原因もお願いします。 よろしくお願いします。

  • セル内の特定文字に対してマクロ実行したい

    セル内の特定文字(対象の文字はマウスで選定)に対しフォント変更のマクロを設定したいのですが方法はありましでしょうか?、マクロの内容は1)P明朝をPゴシック且つ強調文字に変更、2)その逆の2種類のマクロをつくりたいのですが・・・・セル全体のマクロは出来るのですが、対象文字を選定するとマクロの作成が出来なくなります。使用ソフトはwindowsXPと2000です。エクセルのマクロはツールバーから新規マクロ作成で自動的に作る程度しか出来ません。よろしくお願いします。

  • エクセルで、VBマクロを使い、cellの内容が変更されたタイミングでマクロを実行したいです

    エクセル上のVBマクロで、cellの内容が変更されたときに、マクロを実行し、同時にどのセルが変更されたかを取得したいです。 よい方法があれば教えて頂きたいです。 よろしくお願いします。

  • セル値の変更でマクロを実行

    エクセルで棚卸表を作成しようとしています。各種類ごとに別々のシートに品名・単価が入ったマスターが登録してあります。(穀類シート、野菜シート、肉類シート、魚類シート、飲料シート ----) 印刷用のシートで特定のセルの値の変更によって(穀類、野菜、肉類など)、任意のシートを参照し表示する為、IFとVLOOKUP関数の組み合わせで初めは出来たですが、IFは1つの式では7個しか使用出来ず、シートの数が増えてきて、全てのシートを参照出来なくなりました。 そこで、マクロを使用して、特定のセルの値の変更のたびにマクロボタンを押し、式を変更したのですが、今までIF関数使用の時は、ある特定の値が変更されると瞬時に任意のシートを参照し表示されていたので、あまりスマートではありません。 特定のセルの値を変更したら、自動的にマクロが実行できる方法はありますか。それとも、もっと、良い方法があれば教えてください。 宜しければExcelファイルを見て頂きたいのですが。 お願いします。

  • 指定範囲セルのプロテクトを設定するマクロ

    エクセルで 指定範囲セルのプロテクトを設定するマクロは ありますでしょうか よろしくお願いします

  • EXCEL VBAでマクロの最後でFind関数のLookAtの設定を変更したい。

    EXCEL VBAでマクロの最後でFind関数のLookAtの設定を変更したい。 EXCELの検索機能において、通常は、オプションの「セル内容が完全に同一であるものを検索する」のチェックを外して使用しています。 あるマクロにおいて、Find関数のLookAtの値を「xlWhole」(完全一致)で使用しています。 この「LookAt」の値は、通常の手動での検索にも設定が引き継がれるため、このマクロの後に、検索機能を使用するとオプションの「セル内容が完全に同一であるものを検索する」はチェックされた状態になっています。 つまり、通常時はあいまい検索、マクロ時は完全一致検索を行いたいと思っており、マクロの最後で、あいまい検索に設定を変更しておきたいのですが、そういった指定は可能なのでしょうか。 ごり押しですが、最後に、あいまい検索で適当な検索を行っておくという事も考えましたが、もう少しスマートな方法があるのか、ご存知の方がいらっしゃればと思い質問させていただきました。 よろしくお願いします。

  • ワードの表のセル幅をマクロを使って変更したい

    ワード2002を使っています。 エクセルからワードに、3列×12行の表を複数貼り付けました。 すべての表の、3列目の列幅を「110」に変更したいのでマクロ化したいのですが、 マクロの記録コマンドを利用すると表の列が選択できず困っています。 次の操作をマクロ化するにはどうしたらよいでしょうか? #対象の表内の任意のセルにカーソルを置いた状態でスタート    ↓ (1)表の3列目を選択する    ↓ (2)表のプロパティの「セル」タブで、「幅を指定する」を「110mm」に設定する どうぞよろしくお願いいたします。