Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 7 Professional : Excel 2010)
シート保護をした場合の関数のボタンについて
投稿日時: 18/01/04 15:36:20
投稿者: あのん345

会社の人から質問があったので教えてください。
 
シートの保護をしている状態でもロックをはずしていれば編集可能ですが
関数の編集ボタンから関数を入力できてもΣボタンはグレーアウトしていて
直接Σボタンから合計はだせないのかと質問されました。
 
自分が知らないだけかもしれませんが
保護した状態でもΣボタンを使えるようには出来るのでしょうか?
また関数の編集ボタンとΣボタンのグレーアウトの差はどういうことでしょうか?
 
教えて頂けるとありがたいです。
宜しくお願いします。

回答
投稿日時: 18/01/04 16:20:30
投稿者: んなっと

シートの保護をすると、Σボタンは使えなくなります。
 
Alt, Shift, =
の3つのキー同時押しで代用するのはどうですか。

回答
投稿日時: 18/01/04 16:36:54
投稿者: コナミ

あと、Σボタンはダメですがその横のプルダウンは使えますから、そこからその他の関数を選択してSUMを選ぶという手も…
面倒ですけどね。んなっとさんの方法を断然おすすめしますが、マウスがいいとかなら。

回答
投稿日時: 18/01/04 17:02:39
投稿者: もこな2

こんにちは。おもしろそうだったので、私もExcel2013で研究してみました。
結果は、同じようになりましたので「オートSUM」ボタンからみると保護されたシートは基本的に編集NGって考え方なんじゃないでしょうか(あくまで、ロックされていないセルは特別に例外扱いにしてるだけ)
じゃあ「関数の挿入」ボタンは何でいいのかって話になってしまいますが、わかりません。仕様ですかね・・・ただ、この場合でも保護する際に「ロックされたセル範囲の選択」を外しておくと、そこはちゃんと選択できなくなってますので、本気で触ってほしくないセルは選択できないようにすることは可能っぽいです。なんでそうなっているのかは開発者さんのみぞ知るってところでしょうか・・・・
 
話は変わってVBAネタになってしまいますが、ロックされたセルにシート保護中でもSUM関数を設定したいというのであれば、以下の方法が使えます。
ブックを開いたときにでも

[保護したいシート].Protect UserInterfaceOnly:=True
を実行。
これでマクロからは、値や数式が書き込めるので、以下を任意タイミングで実行
Sub なんちゃってオートSUM()
Dim MyRange As Range
Set MyRange = Application.InputBox("範囲?", Type:=8)
If Not MyRange Is Nothing Then _
    ActiveCell.Formula = _
    "=SUM(" & MyRange.Address(RowAbsolute:=False, ColumnAbsolute:=False) & ")"
End Sub

回答
投稿日時: 18/01/04 18:02:36
投稿者: WinArrow
投稿者のウェブサイトに移動

こちらはExcel2007お環境です。
 
「関数の挿入」ボタンはありますが、「関数に編集」ボタンは見当たりません。
 
なお、「関数の挿入」ボタンをクリックすると、エラー(NG)になります。
 
[Alt]+[Shift]+[=]でも、エラーになります。

回答
投稿日時: 18/01/04 18:34:44
投稿者: んなっと

みなさんこの前提で議論しています...

引用:
シートの保護をしている状態でもロックをはずしていれば

回答
投稿日時: 18/01/04 19:40:33
投稿者: WinArrow
投稿者のウェブサイトに移動

んなっと さんの引用:
みなさんこの前提で議論しています...
引用:
シートの保護をしている状態でもロックをはずしていれば

 
そうか・・・
そこんとこ、見てなかった。
 
Excel2007でも、Σボタンは、グレーアウトになりますね・・・・
 
でも、よく考えると
数式の入っているセルのロックを外す・・・意味はどこにあるのかな?
 
普通は、
誤って「数式の入っているセルをいじられたくないから、ロックし、シートを保護する」
のではないかな?
 
 
 
 

回答
投稿日時: 18/01/04 20:37:16
投稿者: んなっと

VBA利用だと、
 下のマクロ
→リボン(クイックアクセスツールバーでもいい)にボタン配置
...かなぁ...自信なし。わからないので、VBA板で聞いてください。
 
Sub Auto_SumM()
  Dim mySht As Worksheet
  Dim Flg As Boolean
  Set mySht = ActiveSheet
  If mySht.ProtectContents = True Then
    Flg = True
    mySht.Unprotect Password:="" '←パスワード入れる
  End If
  Application.CommandBars.ExecuteMso "AutoSum"
  If Flg = True Then
    mySht.Protect Password:=""
  End If
End Sub

投稿日時: 18/01/05 09:51:49
投稿者: あのん345

皆様、おはようございます。
ご回答ありがとうございます。
 

WinArrow さんの引用:
「関数の挿入」ボタンはありますが、「関数に編集」ボタンは見当たりません。

すみません、間違えて『関数の編集ボタン』と書いてしまいました。
正しくは『関数の挿入ボタン』でした。<(_ _)>
 
WinArrow さんの引用:
でも、よく考えると
数式の入っているセルのロックを外す・・・意味はどこにあるのかな?
 
普通は、
誤って「数式の入っているセルをいじられたくないから、ロックし、シートを保護する」
のではないかな?

いじられたくない関数が入ったセルにロックがかけられているんですが
それ以外のセルはロックをはずして編集可能となっています。
その編集可能なセルでΣボタンは使えないのかなという質問でした。
言葉が分かりづらくてすみませんでした。
 
しかももこな2さんやんなっとさんには
コードまで書いていただいてとてつもなく恐縮ものです。(汗)
残念ながらVBAは使えないので、質問してきた会社の人には
最初んなっとさんに提案して頂いた『Alt, Shift, =』で言ってみます。
書いて頂いたコードは自分のVBAの勉強用として活用します。
 
これからまだまだ寒くなっていくと思いますが
新年早々体調崩さないよう気をつけてお過ごしください。
(年明け出社2日目の今日から隣の部署の人が高熱で休んでしまいました)
 
皆様、ありがとうございました。