質問

エクセル テキスト追加マクロで”実行時エラー”発生

保護されたスケジュール表の上へ、マクロでテキストボックスを追加しようとしてます。
別マクロで行挿入マクロがありますが、これを実行した後にテキスト追加マクロを実行すると
実行時エラー'2147024809(80070057)':選択した図形はロックされています。
が表示されます。
これを解決する方法をご教授ください。
追加されたテキストボックスは、位置変更とテキスト編集ができるようにしたいと思います。


◇行挿入◇
Sub 行挿入()
With ActiveSheet
.Protect Password:="Pass", UserInterfaceonly:=True
'処理
End With
End Sub

◇テキストボックス追加◇
Sub テキスト追加()
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, _
Selection.Left + 3, Selection.Top + Selection.Height - 11, _
50#, 12#).Select
End Sub

通報する

回答 (3件)

>行挿入マクロ実行後にセル保護ロックが解除されてしまいます。

ご質問の症状が,よく判りません。

いずれにせよ元のご質問の「編集可能なテキストボックスを追加するマクロ」とは,無関係なところで起きている問題のように見受けられます。
最新版のマクロと,いま困っている「具体的な症状(目に見えるエクセルの姿,どこ番地のセルに何をしたら,どの設定がどうなったといった)」について情報を添えて,新たなご相談として投稿し直してください。

この回答へのお礼

症状を画像添付で再投稿させていただきます。
宜しくお願いいたします。

アプローチは色々ありますが,
>追加されたテキストボックスは、位置変更とテキスト編集ができるようにしたいと思います。

という事ですから,シートの保護の設定から見直した方が良いのかもしれませんね。


変更前;
Sub 行挿入()
With ActiveSheet
.Protect Password:="Pass", UserInterfaceonly:=True
 :

変更後:
Sub 行挿入()
With ActiveSheet
.Protect Password:="Pass", DrawingObjects:=false, UserInterfaceonly:=True
 :

この回答への補足

keithinさん
ご回答、ありがとうございます。
テキストボックスの位置変更とテキスト編集ができるようになりましたが、
行挿入マクロ実行後にセル保護ロックが解除されてしまいます。
回避できないでしょうか?

それはテキストボックスを配置した際、Selectするからエラーになるのです。
以下のようにしましょう。

Sub テキスト追加()
ActiveSheet.Shapes.AddTextbox msoTextOrientationHorizontal, _
Selection.Left + 3, Selection.Top + Selection.Height - 11, _
50#, 12#
End Sub

この回答へのお礼

症状をお伝えし難いので画像添付で再投稿させていただきたく思います。
一方的で申し訳ございません。ありがとうございました。

この回答への補足

Kyboさん
早速のご回答、ありがとうございます。
エラーにならずにテキスト追加されましたが、
行挿入マクロを実行させた後は、テキストの書き込みと移動が出来ない状態です。
出来るようにしたいのですが、ご存知でしょうか。

このQ&Aは役に立ちましたか?5 件

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

新しく質問する

このQ&Aを見た人が検索しているワード


新しく質問する

このQ&Aを見た人がよく見るQ&A

このカテゴリの人気Q&Aランキング

毎日見よう!教えて!gooトゥディ

べんりQ&A特集