Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4757 / 13644 ツリー ←次へ | 前へ→

【54654】グラフの位置を移動する際にFor Eachは使えない? かおり 08/3/25(火) 14:46 質問[未読]
【54656】Re:グラフの位置を移動する際にFor Eachは... ひげくま 08/3/25(火) 14:55 回答[未読]
【54659】Re:グラフの位置を移動する際にFor Eachは... かおり 08/3/25(火) 15:13 お礼[未読]

【54654】グラフの位置を移動する際にFor Eachは使...
質問  かおり  - 08/3/25(火) 14:46 -

引用なし
パスワード
   こんにちわ!おつもお世話になっております。

現在複数のグラフが存在するシート上で、
全てのグラフを横並びにするVBを作りたいのですが、
なかなかうまくいきません。
ちなみに、グラフ番号はつど変わってしまうものなので、グラフ番号を使っての操作は考えていません。
以下のコードを記述しましたが、全てのグラフが左上に移動されてしまい、希望通り(一つ一つのグラフが横並び)にはなりませんでした。。

Sub グラフの移動()
  Dim Shp1 As Object
  Dim gretsu1 As Integer
  
  Range("A1").Select
  gretsu1 = 1
  For Each Shp1 In ActiveSheet.Shapes
  
      Shp1.Top = Range(Rows(1), Columns(gretsu1)).Top
      Shp1.Left = Range(Rows(1), Columns(gretsu1)).Left
      gretsu1 = gretsu1 + 10
  Next
End Sub

何がいけなかったのでしょうか??><

大変お手数ですが、ご教授いただけますよう、よろしくお願いいたします。

【54656】Re:グラフの位置を移動する際にFor Each...
回答  ひげくま  - 08/3/25(火) 14:55 -

引用なし
パスワード
   >Sub グラフの移動()
>  Dim Shp1 As Object
>  Dim gretsu1 As Integer
>  
>  Range("A1").Select
>  gretsu1 = 1
>  For Each Shp1 In ActiveSheet.Shapes
>  
      Shp1.Top = Cells(1, gretsu1).Top
      Shp1.Left = Cells(1, gretsu1).Left
>      gretsu1 = gretsu1 + 10
>  Next
>End Sub

これでどうでしょうか?

【54659】Re:グラフの位置を移動する際にFor Each...
お礼  かおり  - 08/3/25(火) 15:13 -

引用なし
パスワード
   ひげくまさん☆

Cellsにしましたら、無事出来ました!!
#何故、Rangeでは出来ないのかは、ナゾのままですが(汗)

早急にご教授いただけて、大変感謝です!

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

4757 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free