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

Excelの四角のオートシェイプで、例えば、「四角1」「四角2」「四角3」という名前のオートシェイプが3つあったとしてテキスト編集で同じ文字列を入れたいとき、

For a = 1 To 3
ActiveSheet.Shapes("四角" & a).Select
Selection.Characters.Text = "文字列"
Next a

とすればできるのですが、「四角1~3」をグループ化し、名前を「四角」としたとき、

ActiveSheet.Shapes("四角").Select
Selection.Characters.Text = "文字列"

とするとエラーが出てしまいます。グループ化されたオートシェイプのテキスト編集は、一度グループを解除し、それぞれテキスト編集しなければならないのでしょうか?

回答よろしくお願いします。

A 回答 (4件)

>回答番号:No.3 この回答へのお礼



>Excelのバージョンによって異なる場合もあるんですね。
>自分のバージョンは2003なので、そのせいなのかもしれませんね。
回答番号:No.3のコードを試したが上手く書きこめなかった、ということでしょうか?
そこら辺を明確に知りたいです。

下記のようなサポート情報があります。
グループ化の状態によっては使えないようです。
当方、Excel2007しかないので確認できません。

[OFF2003] グループ化された図形を GroupItems プロパティで取得できない
http://support.microsoft.com/kb/821848/ja
    • good
    • 0
この回答へのお礼

返事に遅れて申し訳ありません。

回答者様のNo.3のコードを試してみましたが、やはりグループ化されている状態では「実行時エラー 1004」「CharactersクラスのTextプロパティを設定できません。」というエラーが出て中断されてしまいます。

参考URLを参考にさせていただきます。

ありがとうございました。

お礼日時:2009/06/21 00:20

Excelのバージョンに依存するのかも知れませんが


Excel2007ではグループ化解除なしでOKでした。

Dim i As Integer
Dim n As Integer
With Selection.ShapeRange
n = .GroupItems.Count
For i = 1 To n
.GroupItems(i).DrawingObject.Characters.Text = "あいうえお"
Next i
End With

セルとリンクするのは
.GroupItems(i).DrawingObject.Formula = "=Sheet1!A1"
というようになります。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

Excelのバージョンによって異なる場合もあるんですね。自分のバージョンは2003なので、そのせいなのかもしれませんね。

セルとリンクする方法も書いていただきありがとうございました。

お礼日時:2009/06/14 18:50

グループ化を解除するしないにかかわらず四角のオートシェープに同じ文字を同時に入力することはできないでしょう。

    • good
    • 0
この回答へのお礼

回答ありがとうございます。

確かに同時には入力できませんね。元々「オートシェイプのグループ化」という意味は図形の形に関する設定をグループ化するという意味なのかもしれませんね。

ありがとうございました。

お礼日時:2009/06/14 18:38

グループ解除しなければ、出来ないんじゃないでしょうか。

(ワードでは出来るという記述もありますが...)
当方XL2000ですが、シートモジュールで
Sub test()
Debug.Print Me.Shapes(1).GroupItems(1).DrawingObject.Characters.Text
Me.Shapes(1).GroupItems(1).DrawingObject.Characters.Text = "test"
End Sub
一行目でテキストの取得はできますが、二行目は実行時エラーになります。
なお、セルと関連づけておくと、グループ化した状態でもセルのテキスト変化を反映してくれます。(図形選択状態で、数式バーに=A1等と入力する)
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

やはり、一度グループ解除してからでないとテキスト編集はできないんですね。
なるほど。セルと関連付けるとグループ化したままでテキストを変えられるんですね。

ありがとうございました。

お礼日時:2009/06/14 18:32

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