2017-01-07 5 views
0

特定のマージされたセルにあるコメントを表示するマクロを作成するのに助けが必要です。マクロはボタンにリンクされ、ユーザーがボタンをクリックすると、特定のマージされたセルにあるコメントが表示されます。Excel保護モードで特定のセルのコメントを表示するマクロ

私は現在、ブックにあるコメントをすべて表示するオンラインで見つかったコードを持っています。ただし、マクロがロックされたセルを見て、途中で途切れてしまうという意味で、ブックを保護する必要があるため、このコードは機能しません。私は以下のコードを貼り付けました:

Sub Show_Comment() 
On Error Resume Next 
    For Each ws In ActiveWorkbook.Sheets 
     Set allCommentRng = ws.Cells.SpecialCells(xlCellTypeComments) 
     For Each Rng In allCommentRng 
      Rng.Comment.Visible = True 
     Next 
    Next 
On Error GoTo 0 
End Sub 

これは、私はコメントがある特定のマージされた範囲を指定する方法を知る必要があります。最初のマージ範囲はC7:C8-E7:E8です。私が1つの範囲を行う方法を知っていれば、私は他人のやり方を理解するでしょう。

要約すると、特定のマージされたセルにあるコメントを表示し、ブックが保護され、ほとんどのセルがロックされるときに動作する必要があるマクロを作成するのに役立つ必要があります。特定のマージされた範囲を指定する方法と、マクロを見て、ロックされていないセルのみを指定する方法を知る必要があります。

これは個人的なプロジェクトであり、学校や仕事ではありません。どんな助けでも有益です。私は事前に感謝します。これ以上の情報が必要な場合は、私に知らせてください。

セルは同様にボタンのように見えるものの絵:ワークシートの保護を解除場合についてマクロを実行する前と後の場合、再保護する方法

enter image description here

答えて

1

Sub Show_Comment() 
On Error Resume Next 
For Each ws In ActiveWorkbook.Sheets 
    ws.unprotect 
    Set allCommentRng = ws.Cells.SpecialCells(xlCellTypeComments) 
    For Each Rng In allCommentRng 
     Rng.Comment.Visible = True 
    Next Rng 
    ws.protect 
Next ws 
On Error GoTo 0 
End Sub 
+0

は 'ws.protect'が範囲ループ –

+0

大漁の内部にある、RyszardJędraszyk –

+0

@おかげで、私はそれを得ました!ありがとうございました:D – nilajawill

2

ワークシートを操作しようとする前に保護を解除し、変更が適用された後、保護を復元する必要があります。

For Each ws In ActiveWorkbook.Sheets 
     ws.Unprotect 
     Set allCommentRng = ws.Cells.SpecialCells(xlCellTypeComments) 
     For Each Rng In allCommentRng 
      Rng.Comment.Visible = True 
     Next Rng 
     ws.Protect 
    Next ws 

上記の例では、パスワード保護は行われません。ワークシートのパスワード保護を克服するために使用します。

ws.Unprotect Password:="yourpasswordhere" 
ws.Protect Password:="yourpasswordhere" 
+0

ありがとうございました!これを他の人に分かち合うので、私は保護された人にブックを必要とします。しかし、私は彼らがワークブック内の他のものを変更できるようにしたくありません。彼らはボタンをクリックしてコメントを表示するだけです。私は、彼らが保護の影響を受けないように、ボタン、マージされたセルとコメントのロックを解除しました。しかし、私はマクロに他のセクションを見せたくありません。 – nilajawill

+0

パスワードの部分には、バックグラウンドでパスワードを入力できるマクロはありますか?パスワードコードを追加しようとしましたが、ブックがプロテクトモードになっているときにパスワードを入力するよう求められます。他のユーザーがこのワークブックを持っている場合、パスワードにアクセスすることはできません。したがって、ワークブックの保護を解除して保護するときにパスワードをバックグラウンドで入力できるマクロはありますか?ご協力いただきありがとうございます。 – nilajawill

+0

私はそれを得ました!ありがとうございます:D – nilajawill

関連する問題