解決済み

えくせるまくろで。

  • 暇なときにでも
  • 質問No.2635322
  • 閲覧数176
  • ありがとう数3
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 79% (35/44)

お世話になっております。

基礎的な質問かもしれませんが、、
さっきからうまくいってませんです。
セルに入力された値によって変化し、オートシェイプの→の端につなげて→をかきたいんですが、、、
line1 line2はすでにあるものとして、

Sub sample1()
ActiveSheet.Shapes("Line 1").Select
Selection.ShapeRange.Item("Line 1").Left = 258.75
Selection.ShapeRange.Item("Line 1").Width = 67.5 / 6 * Range("A1")
hako1 = ShapeRange.Item("Line 1").Left + 67.5 / 6 * Range("A1")


ActiveSheet.Shapes("Line 2").Select
Selection.ShapeRange.Item("Line 2").Left = hako1
Selection.ShapeRange.Item("Line 2").Width = 67.5 / 6 * Range("A2")

End Sub

と、こうしてたんですが、。
オブジェクトが必要です。とアラームがでます。
どうしたらいいか教えてください。

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

  • 回答No.2

ベストアンサー率 48% (1930/4007)

Sub sample1()
With ActiveSheet.Shapes("Line 1")
.Left = 258.75
.Width = 67.5 / 6 * Range("A1")
hako1 = .Left + 67.5 / 6 * Range("A1")
End With
With ActiveSheet.Shapes("Line 2")
.Left = hako1
.Width = 67.5 / 6 * Range("A2")
End With
End Sub

ではどうでしょう?
お礼コメント
spaghetti09

お礼率 79% (35/44)

できました。ありがとうございます。
なるほどwith~ですね。
助かりました。
投稿日時 - 2006-12-31 11:08:31

その他の回答 (全2件)

  • 回答No.3

ベストアンサー率 28% (4471/15905)

他カテゴリのカテゴリマスター
hako1 = Selection.ShapeRange.Item("Line 1").Left + 67.5 / 6 * Range("A1")
とSelectionを入れると、動きましたが。
ただ結果はOKかどうか良くわかりません。
図形などは(直接シートに貼り付けるときは)貼り付ける台紙に当たるシートを指定しないとダメ(エラー)なような経験をしたことがあります。
「With 何々 ドット何々 End With」でも解決するでしょうが。
お礼コメント
spaghetti09

お礼率 79% (35/44)

できました。ありがとうございます。
Selectionが必要だったんですね(^_^;
投稿日時 - 2006-12-31 11:12:51
  • 回答No.1

ベストアンサー率 36% (46/127)

こんばんわ
>hako1 = ShapeRange.Item("Line 1").Left + 67.5 / 6 * Range("A1")
>ActiveSheet.Shapes("Line 2").Select
>Selection.ShapeRange.Item("Line 2").Left = hako1

hako1 は値なんですよね。
hako1 = 67.5 / 6 * Range("A1") ではないですか?

蛇足ですが、→の引き方コードです。
ActiveSheet.Shapes.AddLine(117,156,285,156) .Line.EndArrowheadStyle = msoArrowheadTriangle

(117,156,285,156)は(始点X,始点Y,終点X,終点Y)です。
お礼コメント
spaghetti09

お礼率 79% (35/44)

回答ありがとうございます。
できました。(始点X,始点Y,終点X,終点Y)で指定すると、
一度ズレても元にもどってよいですね。
投稿日時 - 2006-12-31 10:53:38
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

ピックアップ

ページ先頭へ