アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excel2000を利用しているのですけども先日保護したシートに図を挿入する方法をこちらで教えて頂きました。ありがとうございます。
今回は、その挿入した図をセルの中央に配置する方法をご教授お願したいのですが、よろしくお願いいたします。セルの書式設定で中央にしてもできませんでした。セルを保護しているからでしょうか?それとも全く検討違いの操作をしているのでしょうか。
下記マクロにその操作を追加する場合のマクロも教えて頂ければ大変助かります。

ActiveSheet.Unprotect
Application.Dialogs(xlDialogInsertPicture).Show
ActiveSheet.Protect
以上宜しく御願い致します。

A 回答 (3件)

どこで、どのようなエラーが出たのでしょうか?



1.("Picture 1")と("A1")の部分は利用しているExcelの状態に合わせて変更する必要があります。
Set shp図 = ActiveSheet.Shapes("Picture 1")でエラーの場合。
Picture 1の名称が違っている可能性が高いです。
マクロの記録で対象の図を移動してみてください。
マクロに図の名称が記録されますので、それを利用する必要があります。

2."位置移動のエラー"
図の大きさよりA1セルの大きさが小さいです。
入りきらないのでエラーです。A1セルを大きくするか、別のセルに変更してください。

3.いきなりエラーとなる。
Option Explicitを指定していませんか?
    • good
    • 0

こんな感じでどうでしょうか?


セルの中央に図が移動するかと思います。
図よりもセルが小さいと中央へ移動のしようがないのでエラーです。

Sub test()
 ’図の位置取得
Set shp図 = ActiveSheet.Shapes("Picture 1")
sng図Top = shp図.Top
sng図Left = shp図.Left
sng図Wid = shp図.Width
sng図Hight = shp図.Height

 ’セルの位置取得
Set rngセル = Range("A1")
sngセルTop = rngセル.Top
sngセルLeft = rngセル.Left
sngセルWid = rngセル.Width
sngセルHight = rngセル.Height

'横の位置を決める。
横位置 = ((sngセルWid - sng図Wid) / 2) + sngセルLeft

'縦の位置を決める。
縦位置 = ((sngセルHight - sng図Hight) / 2) + sngセルTop

'図の位置を移動
If 横位置 > 0 And 縦位置 > 0 Then
shp図.Left = 横位置
shp図.Top = 縦位置
Else
MsgBox "位置移動のエラー"
End If

End Sub

この回答への補足

こんばんは。
マクロに関しては、まだ勉強不足で無知に近いです。
上記内容をコピーしてマクロの部分に貼り付ければ使えるのでしょうか?
先ほど試してみたのですが、エラーが出てしまいました。
宜しくご教授くださいませ。

補足日時:2006/11/30 21:09
    • good
    • 0

見当違いの操作ですね。



セルの中に図が挿入されているのではなく、図はシートの上に置いてあるという感じです。
そして、実施したいのは
 ・表示範囲の中央に図を配置したい
 ・印刷範囲の中央に図を配置したい
 ・大きなセルの中央に図を配置したい
どれでしょうか。

この回答への補足

こんばんは。
説明不足で申し訳ありません。
保護したシートの中に保護を外した”大きなセルがあります”
その大きなセルの中央に挿入→図→ファイルから図を挿入したいのです。
昨日教えて頂いたマクロに書きくわえて使用したいと思っておりますので宜しくご教授お願いします。また、勉強不足なもんでマクロに関しては全く無知なものですから宜しくお願いいたします。

補足日時:2006/11/30 21:03
    • good
    • 3

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