質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

3回答

2125閲覧

シート保護で入力規則でオートフィルするには

poporon7

総合スコア22

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

1クリップ

投稿2021/11/18 01:44

編集2021/11/18 02:50

お世話になっております。

シートに図形と入力規則のあるセルが存在します。
シートの保護をかけると、図形も入力規則も保護され、入力規則で選択した内容をオートフィルすることができません。セルの保護を外しているのですが、入力規則の▼もオブジェクトなんですね。
保護をかけるときに「オブジェクトの編集」にチェックを入れると、入力規則でのオートフィルはできますが、図形で右クリックをして編集できてしまいます。困りました。。

希望は以下の通りです。
シートの保護をかけたときに、
・図形は保護したい。
・入力規則セルは選択後にオートフィルできるようにしたい。

です。

VBAでも大丈夫です。何とかお知恵を拝借できませんでしょうか。
また、現在は何とかならないかと思っていますが、それは不可能です!ということがはっきりとわかればあきらめますのでどうぞご教示よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

bebebe_

2021/11/18 02:31

状況をうまく把握できていないかもしれないですが図形のプロパティの「セルにあわせて移動やサイズ変更をしない」を選択するのはだめですか?
poporon7

2021/11/18 02:48 編集

ありがとうございます。そうなんです。それだと、確かに列幅を変えたときに図形は動かないのですが、右クリックで簡単に図形の大きさなどの変更はできてしまうのですよね。言葉たらずで申し訳ありません。 つまりはシートの保護で図形を保護したときと同様、図形に対して右クリックができなくしたいということなのです。(上記質問を修正させていただきました)
bebebe_

2021/11/18 05:03 編集

軽く調べた限りでは希望を挙動ができそうな感じのものは見つかりませんでした。 代案としては 入力規則されていないセルであればオートフィル可能みたいなので入力規制されているセルの値をコピーするマクロを使いコピーしたセルをオートフィルしてもらう もしくは オートフィルの動作がセルの右下をドラッグでなくても良いのなら ActiveCell.AutoFill Selection などVBAにてオートフィルを実行する形になってしまう気がします。 追記 オートフィルでコピーされたセルにも入力規則が適用されている必要があるならVBAしかないかもしれません。
poporon7

2021/11/21 00:31

bebebe_様 ご回答いただきありがとうございました。 1行1レコードとして複数の方に入力していただくシートでありまして、複数回答が必要な列には1セルずつに入力規則を設定しています。上部にボタンを作成し、保護をかけることでボタンは動かされずに入力規則で選択したデータはオートフィルできるようにと考えたのですが、できないようですね。。 代案もお考えいただき大変感謝しております。ありがとうございました。
guest

回答3

0

ベストアンサー

何かヒントに、なればと思い投稿しました
イメージ説明
イメージ説明

VBA

1Option Explicit 2Dim yoko As Long, tate As Long 3Private Sub Worksheet_SelectionChange(ByVal Target As Range) 4 yoko = Target.Row 5 tate = Target.Column 6 Cells(yoko, tate).Select 7 If yoko >= 7 And yoko <= 20 And tate = 2 Or yoko >= 7 And yoko <= 20 And tate = 4 Then 8 ActiveSheet.Unprotect Password:=123 9 Else 10 ActiveSheet.Protect Password:=123 11 End If 12End Sub 13

投稿2021/11/22 14:34

syousuke.33

総合スコア312

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

poporon7

2021/11/23 01:03

syousuke.33様 なるほど!範囲を入力規則に絞ってそこをクリックしたときだけ保護を外すのですね! まったく思いつきませんでした。動きとして理想通りですのでベストアンサーにさせていただきます。 ありがとうございました!
guest

0

シートの保護をすると、セルの保護でチェックを外して保護対象外にしていても、入力規則でリスト設定している場合、オートフィルができなくなるということがわかりました。

投稿2021/11/21 01:04

poporon7

総合スコア22

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

対象のセルだけ『セルの書式設定→保護→ロック』のチェックを外すのでは駄目ですか?

投稿2021/11/20 04:09

jinoji

総合スコア4592

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

poporon7

2021/11/21 00:35

ご回答いただきありがとうございます。 はい、入力規則でリストから選択できるように設定しているセルのロックをはずしていても、シートの保護をすると、セルのオートフィルはできないんです。シートの保護で、オブジェクトの保護にチェックを入れて保護をすると、できるようになります。ですが、他のオブジェクトも右クリックができて大きさを変えたりすることができてしまいます。この実現は難しいということがわかりました。
jinoji

2021/11/21 05:58

そうですか。 オートフィルって、上のセルを下方向にまとめてコピーする感じの操作ですよね?
poporon7

2021/11/21 21:29 編集

ご認識の通りです。 入力してもらう際、毎回選択するのではなく、上からザーッと同じ内容をコピーできた方が便利なのです。オブジェクトを保護しても入力規則の▼のロックを外す方法があればいいのですがね〜。
jinoji

2021/11/21 22:41

範囲選択してCtrl+Dならできると思います。
poporon7

2021/11/23 01:00

jinoji様 なるほどこれは簡単にコピーできますね!1件ずつコピーする際に使わせていただきます。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問