プロが教える店舗&オフィスのセキュリティ対策術

エクセル2010を使用しています。
仕事の成果を一定の様式に記入してもらいます。書式、関数などを変更してもらいたくないのでシートに保護をかけました。
記入してもらうところだけセルのロックをはずし入力OKに設定しました。
しかし、シートの保護をかけるとロックをはずしててもセルの結合はできないんですね。なので、過去の質問からシートの保護がかかっていてもマクロですべての操作をしようできるというマクロ↓を参考にしてみました。

Sub seru()
ActiveSheet.Protect UserInterFaceOnly:=True
End Sub

これと、セルを結合するマクロ↓を考えたのですが、どのように2つをくっつけたらいいのかがわかりません。

If TypeName(Selection)="Range"and Selection.Cells.Count>1 Then
Selection.Merge
ActiveSheet.Protect,AllowFormattingCells:=True
End If

何かぬけているのかマクロを実行しても全く働いてくれません。
どうかよろしくです。

A 回答 (1件)

sub macro1()


 ActiveSheet.Protect UserInterFaceOnly:=True
 If TypeName(Selection)="Range"and Selection.Cells.Count>1 and selection.locked = false Then
 Selection.Merge
 End If
end sub

のようなマクロにすると動きます。



#補足
あなたの書きかけマクロだと、保護されたセルまでセル結合できてしまうので、保護されていないセルだけを対象にするように書き足してあります。
    • good
    • 0
この回答へのお礼

ありがとうございました。
マクロももう少し勉強しようと思います。
うまく、思うように働いたので良かったです!

お礼日時:2012/06/14 20:23

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