dポイントプレゼントキャンペーン実施中!

あるシートに次のコードが記述してあります。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row < 4 Then
Me.Protect Password:="pass", _
AllowFormattingColumns:=True
Else
Me.Protect Password:="pass", _
AllowInsertingRows:=True, _
AllowDeletingRows:=True
End If
End Sub
これはシートの保護をするマクロです。
この記述の後、共有を有効にすると、「protectメソッドは失敗しました_worksheetオブジェクト」が出てしまいます。ネットで調べると、「共有を有効にした後、シートの保護や解除ができなくなる」という記事を読みました。そのため、そのようなエラーが起こってしまうのでと思います。
(上記記述を削除するとエラーは起こりません)

上記コードが有効のまま共有を有効にする方法はないでしょうか。共有を有効にするマクロの記述をして解決することはできないでしょうか。

よろしくお願いいたします。

質問者からの補足コメント

  • すみません。別の困ったことが確認されました。
    このマクロを記述すると、任意のセルをクリックした瞬間
    クリップボードが削除されてしまいます。
    つまり、該当シートだけ貼り付けができなくなってしまいます。
    どうしたらいいのでしょうか…

      補足日時:2016/10/22 01:35
  • クリップボード削除の問題は次の記事で何とかなりそうです。失礼いたしました。
    https://oshiete.goo.ne.jp/qa/2120882.html

      補足日時:2016/10/22 02:14

A 回答 (1件)

意外に早く、戻ってきてしまいましたね。

(^^;

以下は、単なる、今のところは、できないという能書きに過ぎませんので、ながなが書いていたものは割愛しました。

前回のような明解なコードを、同様に作られるかは、今の段階では、たぶんできるはずだというレベルです。こんなことを、もう10年以上前からしていますが、未だ、解決していないといっても過言ではありません。Google検索でも、ヒットしないのです。そういう時は、自分で開発するしかありません。

もう少し考えさせてください。
    • good
    • 0
この回答へのお礼

この前はお世話になりました。いいところまではいったのですが、共有化で壁にぶち当たってしまいました。今回は投稿がほとんどなく、ちょっと難しいと感じております。どうか無理をなさらず、ご自愛ください。

お礼日時:2016/10/20 22:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!