Excel VBA質問箱 IV

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

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


34241 / 76732 ←次へ | 前へ→

【47701】Re:セルのIndex?
発言  Kein  - 07/3/19(月) 18:14 -

引用なし
パスワード
   Index の意味が分かってないですね・・。
それは「シート上に配置した順番」につく連番です。
その順番どおりに処理するのでなく、任意の順でやりたい場合は、
Index を配列に入れてループすれば良いのです。
まず「どの図形が何番のIndexになっているか ?」を調べるため

For i = 1 To 10
  Debug.Print Workbooks(book_name1).Sheets("設定シート") _
  .DrawingObjects(i).TopLeftCell.Address(0, 0) & " : " & i
Next i

というコードで、図形の位置から1〜10のIndexがどの図形についているか
調べます。そして例えば 3, 2, 5, 6, 7, 1, 9, 4, 8, 10 という順番で
処理したければ

Dim IndAry As Variant
Dim i As Integer

IndAry = Array(3, 2, 5, 6, 7, 1, 9, 4, 8, 10)
For i = 0 To 9
  Set cp = Workbooks(book_name1) _
  .Sheets("設定シート").DrawingObjects(i)

  省略

Next i

というように変更すれば、自由な順番で処理が出来るようになります。
とにかく、Nameプロパティでの指定は止めること。そうすることによって
うまくいったなら、わざわざ元のやり方に拘って悩む必要はないはずです。

2 hits

【47690】DrawingObjectsプロパティーについての質問です。 Runa 07/3/19(月) 14:56 質問
【47691】Re:DrawingObjectsプロパティーについての... ウッシ 07/3/19(月) 15:12 発言
【47693】Re:DrawingObjectsプロパティーについての... Runa 07/3/19(月) 16:04 質問
【47694】Re:DrawingObjectsプロパティーについての... ウッシ 07/3/19(月) 16:14 発言
【47695】Re:DrawingObjectsプロパティーについての... Kein 07/3/19(月) 16:33 発言
【47699】Re:セルのIndex? Runa 07/3/19(月) 17:50 質問
【47701】Re:セルのIndex? Kein 07/3/19(月) 18:14 発言
【47711】Re:セルのIndex? Runa 07/3/20(火) 10:30 お礼
【47692】Re:DrawingObjectsプロパティーについての... Kein 07/3/19(月) 15:22 発言

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