• 締切済み

【EXCEL】VBAでシートのセルを全て選択不可にする

VBAでエクセルのシート内のセルを全て選択不可にすることは可能でしょうか。 全部で5つくらいのシート内のセルを選択不可にしようと思っています。 選択できるシートも必要なのでブック内のすべてのセルではなくて、シート内のすべてのセルに対して選択不可を行いたいのです。 よろしくお願いします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

Sub test04() Worksheets("sheet4").Protect End Sub ではだめですか。選択不可ではないですが、変更不可では だめですか。

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

対象シートの EnableSelection プロパティを xlNoSelection にして、シートを保護すればご希望の動作になりますか? Sub Test()  On Error Resume Next  ActiveSheet.Range("A1:IV65536").Locked = True  ActiveSheet.EnableSelection = xlNoSelection  ActiveSheet.Protect End Sub

関連するQ&A

  • excel vba 選択されたセルの範囲を別のセル

    excel vba 選択されたセルの範囲を別のセルに書き込みたい。 お世話になっております。 乱筆乱文お許し下さい。 EXCEL VBAについてですが、或るブックを閉じる時(Private Sub Workbook_BeforeClose(Cancel As Boolean))にその時点でACTIVEなsheetの名前を指定シートの指定セルに書き込み、そのブックを開く時(Private Sub Workbook_Open())に指定シートの指定セルの値の名前sheetをACTIVEにすることは出来たのですが、もう一歩進んで、 ブックを閉じる時(Private Sub Workbook_BeforeClose(Cancel As Boolean))にその時点でselectされているcellの範囲(単一セル・複数セル共に、名前がついていたら名前、ついていなければrangeを表す文字列)を指定シートの指定セルに書き込み、そのブックを開く時(Private Sub Workbook_Open())に指定シートの指定セルの値の名前cell範囲をselectするようなことがやりたいのですが、私の検索の仕方が下手で、なかなか出てきません。どなたかご教示下さい。よろしくお願いします。

  • エクセルVBAにて選択したセルが空白の場合任意のシートに飛ばした

    エクセルVBAにて選択したセル(A1とします)が空白の場合任意のシート(Sheet2とします)の任意のセル(B1とします)を選択させる場合どのようにしたらよいでしょうか?

  • VBA 特定のシートが選択されていたら、セル入力

    Excel365。簡略化したVBAです。 現在、「あ」というシートが選択されていたら、「あ」シートの「A1」セルに「a」と入力 「い」というシートが選択されていたら「い」シートの「A1」セルに「i」と入力。 それ以外のシートが選択されていたら、何もしない。 If Sheets("あ").Activate Then Range("A1") = "a" ElseIf Sheets("い").Activate Then Range("A1") = "i" Else 以下省略 「い」シート選択中でも、「あ」シートの「a1」セルに入力され、シートを増やしても、「あ」シートの「a1」セルに入力されます。 「い」シートを入力していません。 簡単だと思っていたのですが…。 どんなコードになるのでしょうか?

  • エクセルでセルを1個だけ書き換え不可にしたいのですが

    エクセルでセルを1個だけ書き換え不可にしたいのですがどう操作したらよいでしょうか?保護ではシート全部が書き換え不可になってしまいますし…

  • 【Excel_VBA】セルに連動したシート削除

    ExcelのVBAで実装可能かと思うのですが、ご教授願いたく思います。 シートがかなりたくさんあるエクセルブックがあります。 各シートの指定のセルに文字列の有無を判断し 文字列が無い場合、そのシートを消す この作業を連続して多数の該当シートを一気に削除したいVBAは どのように記述すればよいでしょうか? また、4シートほど、表紙やリストなど上記、文字列の有無を判断せず そのまま残したいシートもあります。(このシート群は固定で増える事はありません) 上記、もし実装可能であればご教授お願いします。 また、可能だけどokwaveの入力欄では面倒だし説明しづらい、という回答でもokです。 その場合、参考サイトなど教えて頂けると幸いです。 (当方VBAには精通しておりませんが) 何卒よろしくお願いいたします。

  • 全てシートをスクロールさせたいのですが。。

    エクセルVBAでブックの全てのシートを洗濯し 全てシートをスクロールさせたいのですが .ScrollColumnをどのように指定すればいいのでしょうか? Window.ScrollColumn = 4とするとオブジェクトが必要です。 とメッセージがでます。 ActiveWindow.ScrollColumn = 4にすると全てのシートに 反映されません。。。

  • VBAで選択範囲の全てのセルの削除の仕方

    ご教授お願いいたします。 Excel2007のVBAでseetに挿入したボタンのマクロで マウスで選択した全てのセルを削除するようにしたいのですが・・・ ActiveCell.Delete と入力してマクロを実行してもマウスで選択したセルの 一つ目のセルしか削除されません・・・ 選択したすべてのセルに適用するようにするためには どのようなメソッドを使えば良いのでしょうか? 使い始めたばかりなので全くわかりません・・・ よろしくお願いいたします。

  • シート選択をVBAでやる方法について教えてください。

    シート選択をVBAでやる方法について教えてください。 4月から順に12シートあります。その中で 先月、今月、来月の分の3シートをまとめて選択したいのです。 11月12月1月2月3月とシートは並んでいて 今は1月なので12月、1月、2月のシートを選択という感じです。 これは可能でしょうか? 最終的にはコピーして新しいブックに張付ける予定です。 EXCEL2003です。宜しくお願いします。

  • ExcelのVBAでアクティブシートの特定の文字列の入ったセルを全て選

    ExcelのVBAでアクティブシートの特定の文字列の入ったセルを全て選択し、文字をクリアしたいのですが、構文を教えて下さい。ちなみに、文字列というのは『jpg』です。 挿入した画像を一括削除する場合は、ActiveSheet.Shapes.SelectAll で全て選択できたのですが、文字列だとよくわかりませんでした。 Find("jpg")でやってみると最初の『jpg』だけが選択されてシート内の全てを選択できないので、全て選択・クリアできる方法を探しています。

  • VBAでのブック・シートの保護・解除について

    エクセル2010のVBAでのブック、シートの保護&解除の方法について教えて頂きたく、 質問させて頂きます。 消されては困るシートや数式がある関係で、ブックオープン時にVBAでブックとシートにそれぞれパスワードをかけて保護しています。 VBAではシートの削除、作成、コピーなどを行っているため、VBA実行時のみ、保護を解除させるようにしたいと思います。 ただ、対象のシート自体にも入力したい項目があるため、その箇所については保護を解除しておく必要があります。 そして、VBA実行後、再度、その箇所以外にパスワードで保護をかけ直します。 イメージとしては下記のような流れになります。 対象ブック:ブックA 対象シート:シート1 パスワード:1234(それぞれ) 常時保護を解除しておきたいセル:range("A6:H106") 1.(オープン時には、)ブック保護&特定のセル以外のシート保護 2.VBA実行時には全ての保護解除 3.VBA終了時に、1の状態に戻る どうぞよろしくお願い致します。

専門家に質問してみよう