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

エクセルVBAで相談があります。
現在エクセルでシフト管理していて、頻繁にシフト入れ替えや移動がある為に、すぐ移動が出来る様に図形に名前や情報を入力してその図形を移動させたりして従業員と情報共有しています。

そこで相談なのですが、図形のテキストデータをその図形の下(図形で隠れる部分)のセルに入力していくVBAがあれば教えて頂きたいです。
図形の数は大体40ぐらいでやり取りしています。
一個の図形でなら出来たのですが複数がわかりませんでした。
宜しくお願い致します。

A 回答 (2件)

Sub sample()


  Dim shp As Shape
  For Each shp In ActiveSheet.Shapes
    '図形の左上が位置するセルに書き込む
    shp.TopLeftCell = shp.TextFrame.Characters.Text
    '図形の左上の右下のセルに書き込む
    shp.TopLeftCell.Offset(1, 1) = shp.TextFrame.Characters.Text
  Next
End Sub

図形の大きさがわからないので、
文字を書き込むセルを2パターンにしました。
不要な方は削除して下さい。

参考になるかな。
    • good
    • 2
この回答へのお礼

助かりました

無事使えました!
お二人とも親切にありがとうございました。

お礼日時:2022/10/07 11:24

こんばんは。



For Eachで、全ての図形を処理する事ができると思います。
良いサンプルが見付かりませんでしたが、質問者さんが1つできているとの
事ですので、それを、For Eachで処理すればできるかと思います。

●For Each~Nextループで全Shapeを選択するサンプルマクロ
https://www.relief.jp/docs/excel-vba-select-all- …
上記で、選択する部分を、質問者さんの処理に置き換えたら良いかと。
    • good
    • 2

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

このQ&Aを見た人はこんなQ&Aも見ています