- ベストアンサー
エクセルで特定のセル(範囲)を選択出来なくするには?
エクセルで特定のセル上(範囲内)でクリックしても、そのセルを選択出来ない様に設定したいのですが、やり方がよくわかりません。 本でいろいろ調べてみましたが、「セルの保護」とは違うようです。 よくこの様にしてあるエクセルのソフトを見るのですが、そういう設定をしたいのです。 VBAマクロのプログラム上でそのように設定するのでしょうか? (マクロはある程度わかります) よろしければ御教示下さい。
- qchan2007
- お礼率37% (14/37)
- その他(業務ソフトウェア)
- 回答数2
- ありがとう数2
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
シートの保護をかける際に、「ロックされたセル範囲の選択」のチェックを外します。 この方法ですと、ロックされた全てのセルが選択できなくなります。 マクロでやるならこんな感じでしょうか(B1を選択させない例です) Worksheetモジュールに Dim OldSelect as Object '最後に選択されたセル範囲 Private Sub Worksheet_Selection(ByVal Target As Range) If OldSelect Is Nothing Then Set OldSelect = Range("A1") '起動直後はA1を最後のセル範囲にする End If If InStr(Target.Address, "$B$1") > 0 Then OldSelect.Select '選択されたセル範囲にB1が含まれていれば最後のセル範囲に戻す Else Set OldSelect = Target 'B1以外の場合は最後のセル範囲を更新 End If End Sub
その他の回答 (1)
- Masa2072
- ベストアンサー率51% (94/182)
続けざまにすいません。 下の例ですとB1、以外にB10~B19、B100~のようにB1からはじまる全てのセル番地がロック対象になり、逆にA1:C1のようにB1を含んでいてもロック対象にならないという結果になってしまいます。 この辺はもう少し考える必要がありますね。
関連するQ&A
- エクセルVBAで、選択セルを常にC行にする。
エクセルVBAで、選択セルを常にC行にする。 例:ボタンをクリックすれば、選択しているセルがN25ならC25になり、N7ならC7にしたいのです。 選択セル範囲がB2:N12ならば、一番上を有効として、C2のみを選択範囲としてほしいのです。 VBAで記述するならどのようになるか。ご教示ください。
- ベストアンサー
- オフィス系ソフト
- エクセルVBA・セルを選択して並べ替えたい
エクセルVBA・セルを選択して並べ替えたい 以下の質問では、たいへんお世話になりありがとうございました。 http://okwave.jp/qa/q6203452.html 少し関連した質問をいたします。 具体的に言いますと、マウスでセル範囲を選択して、その選択した範囲を並べ替える、というようなイメージです。(マウスでセル範囲を選択してから、マクロを実行します) 以下のコードで言うと Range("○●:○●").の部分が、マウスで選択した範囲というような具合です。 Sub sort1() Range("○●:○●").Sort _ Key1:=Range("d1"), _ Order1:=xlDescending, _ Header:=xlYes, _ Orientation:=xlTopToBottom End Sub 以上、よろしくご教示お願いします。
- ベストアンサー
- その他MS Office製品
- Excelのマクロで特定のセル範囲に貼り付けてある写真を削除したい
エクセルのマクロを使って、ワークシートの特定の範囲に貼り付けてある写真を全て消したいのですが、貼り付けの際に各写真には名称を付けていなかったので、オブジェクト名で選択して削除するという手段が使えません。 イメージとしては、図形描画ツールバーの「オブジェクトの選択」ボタンを押して特定のセル範囲にあるオブジェクトを選択して削除するといった作業をマクロ化したいのです。ワークブックが数百あり、写真の張り付いているセル範囲は全て同じなのですが、写真のオブジェクト名は全て異なり規則性が無いのです。 良い方法があれば教えてください。
- ベストアンサー
- オフィス系ソフト
- セルの範囲選択
エクセルVBAの質問です。 セルの範囲選択をしたくて色々と試してみたのですが、どうも上手くいかないので教えてください。 「Range("F25:F36")」とした時の「F36」が可変の場合はどうすれば良いのでしょうか? よろしくお願いします。
- 締切済み
- Visual Basic
- エクセル セル範囲にデータが記入されているかを知りたい
いつもお世話になります。 エクセル2000を使用しています。 「セル範囲のA2~B20に、データが含まれているセルが一つもない場合は、処理を実行しない。一つでも存在する場合は以下の処理をする」 というマクロを書こうとしているのですが 「セル範囲のA2~B20に、データが含まれているセルが一つもない」、「一つでも存在する」 という意味の式の書き方が分かりません。 お手数ですが、教えていただけますでしょうか。 また、現在はエクセルのVBA入門書程度のもの("できるEXCEL2000 マクロ&VBA編")しか手元にないのですが、このようなことが分かりやすく理解できる書籍などをお知りでしたら、教えていただけますでしょうか。
- ベストアンサー
- オフィス系ソフト
- エクセルマクロ特定のセル
マクロの勉強したばかりですみませんが、 エクセル2003で、特定のセルが選択されたときにマクロを実行したいのですが、可能でしょうか? どうやればよいか教えていただきたいです。
- ベストアンサー
- オフィス系ソフト
- セル範囲の選択がマウスで出来ない
WindowsXP エクセルでセル範囲を選択する為、マウスでポインターをセルをに持っていきクリックそると + が維持できず即 I に変わってしまいます。以前はこんな現象はなく + が残りそのままクリックしたままポインターを移動しセル範囲選択が出来ていました。多分これが原因でセルの範囲選択が出来ないのだと思います。解決策を教えてください。
- ベストアンサー
- Windows XP
- EXCEL VBA シート内の特定のセルに値が入…
EXCEL VBA シート内の特定のセルに値が入力された際に処理を実行するプログラム EXCELシート内の特定のセルに値が入力された際に処理を実行するプログラムをEXCEL VBAで作成したいと考えています。 EXCELに計測データを取込み、このデータが設定値以外の場合のみ、トリガーを出す様なイメージで使いたいと思います。 どの様に考えれば良いでしょうか?サンプル等ありましたら紹介ください。 上記質問の”トリガー”について補足します。 あるセルに値が入力されたら、マクロを実行するという風にしたいという意味です。 単純にマクロ実行を手動で行うのでは無く、ある値が判定値以外の場合に他アプリケーションを操作したいという意味です。。
- ベストアンサー
- 開発
- エクセルの選択セルを知る方法
エクセルのA1セルを選択状態にしたとします VBAで現在選択されているセルはA1と認識するにはどうプログラムしたらよいでしょうか、よろしくお願いします
- ベストアンサー
- Visual Basic
お礼
選択出来るようにしたいセル(範囲)を選択して、セルの書式設定→保護タブ→ロックを外し、次に教えていただいた「ロックされたセル範囲の選択」のチェックを外してからシートの保護をかけると、うまく、選択出来るセル(範囲)と出来ないセルに分けることが出来ました。 簡単に出来て嬉しいです。ありがとう御座いました。 マクロの方は少し難しそうなので、機会があれば又チャレンジしてみたいと思います。