• ベストアンサー

オートシェイプの幅を操作するには?

コマンドボタンにマクロを登録して、オートシェイプの幅を操作したいのですが、 とあるHPから Sub WIDTH_ADD() Selection.ShapeRange.Width = Selection.ShapeRange.Width + 1 End Sub というマクロを見付けました。 ただ、これでは1ずつしか広がりません。 決まったセルに入れた数字分、増加させるにはどのようにしたらよいのでしょうか? 例えば セルA1に10と入力すれば、10増えると言う具合にです。 もしくは、増減させるのではなく幅にあたる数値をセルに入力することによって 幅を自由に変更する方法はありませんでしょうか? 良い方法がありましたらお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

こんにちは。KenKen_SP です。 こんな感じ。あと手抜きですが、簡単にエラー処理してます。 ActiveSheet.Range("A1").Value の A1 の部分をセルのアドレス(番地)に書き換えると任意のセルを 指定できます。 Sub WIDTH_ADD()      On Error Resume Next   Selection.ShapeRange.Width = _   Selection.ShapeRange.Width + ActiveSheet.Range("A1").Value    End Sub

suika_no1
質問者

お礼

早速の回答ありがとうございます!^^ お陰様で今後の作業がとても楽になりました。 本当にありがとうございます。

その他の回答 (1)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

セル入力値の増減ではなく、オートシェープの幅をダイレクトで入力する方法の例です。 Sub WIDTH_ADD() W = Application.InputBox("幅を入力", "Autoshape") Selection.ShapeRange.Width = W End Sub

suika_no1
質問者

お礼

ありがとうございます。 これもno.1と合わせて、うまく使えそうです。^^

関連するQ&A