Excel VBA質問箱 IV

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

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


27449 / 76732 ←次へ | 前へ→

【54602】Re:マクロを短くしたい
回答  neptune  - 08/3/23(日) 15:21 -

引用なし
パスワード
   ▼わんわん さん:
こんにちは
>UBound関数結果は各12(添字の最大値)こんな感じでしょうか?
サンプルを2点書いておきます。

Sub Arrayを使う方法()
Dim arry As Variant
Dim i As Long, j As Long
Dim imax As Long, jmax As Long

  arry = Array(Array(6, 7, 2, 11, 16, 17, 19, 12, 13, 15, 8, 9, 10), _
       Array(2, 3, 14, 26, 29, 39, 31, 32, 33, 34, 36, 39, 42))
  imax = UBound(arry, 1)
  jmax = UBound(arry(0), 1)
  For i = 0 To imax
    For j = 0 To jmax
      Worksheets("Sheet1").Cells(i + 1, j + 1).Value = arry(i)(j)
    Next j
  Next i

End Sub

※個人的にはこちら↓の方が判りやすいです。これを機会に
CollectionのHelpに目を通しておくのが良いかと思います。

Sub コレクションを使う方法()
Dim coll As Collection
Dim i As Long, imax As Long
Dim j As Long, jmax As Long

  Set coll = New Collection
  
  coll.Add Array(6, 7, 2, 11, 16, 17, 19, 12, 13, 15, 8, 9, 10)
  coll.Add Array(2, 3, 14, 26, 29, 39, 31, 32, 33, 34, 36, 39, 42)
  
  imax = coll.Count
  jmax = UBound(coll(1))
  
  For i = 1 To imax
    For j = 0 To jmax
      Worksheets("Sheet1").Cells(i, j + 1).Value = coll(i)(j)
    Next j
  Next i
  Set coll = Nothing
End Sub
>実際に文法に弱いので勉強したいと思います。
頑張って下さい。

追記:
UBound関数は引数が要素を持たない場合はエラーが発生します。
要素を持たない場合があるときは必ずエラー処理が必要です。
1 hits

【54553】マクロを短くしたい わんわん 08/3/18(火) 23:40 質問
【54554】Re:マクロを短くしたい かみちゃん 08/3/19(水) 0:08 発言
【54556】Re:マクロを短くしたい わんわん 08/3/19(水) 0:58 お礼
【54555】Re:マクロを短くしたい おちゃら 08/3/19(水) 0:26 発言
【54557】Re:マクロを短くしたい わんわん 08/3/19(水) 1:14 質問
【54558】Re:マクロを短くしたい かみちゃん 08/3/19(水) 1:44 発言
【54573】Re:マクロを短くしたい わんわん 08/3/20(木) 0:20 お礼
【54576】Re:マクロを短くしたい VBWASURETA 08/3/21(金) 12:36 発言
【54584】Re:マクロを短くしたい わんわん 08/3/22(土) 0:55 お礼
【54592】Re:マクロを短くしたい VBWASURETA 08/3/22(土) 18:15 発言
【54596】Re:マクロを短くしたい わんわん 08/3/22(土) 20:57 質問
【54598】Re:マクロを短くしたい neptune 08/3/22(土) 21:20 発言
【54599】Re:マクロを短くしたい わんわん 08/3/23(日) 1:42 お礼
【54602】Re:マクロを短くしたい neptune 08/3/23(日) 15:21 回答
【54605】Re:マクロを短くしたい わんわん 08/3/23(日) 23:36 お礼
【54609】Re:マクロを短くしたい VBWASURETA 08/3/24(月) 9:55 発言
【54678】Re:マクロを短くしたい わんわん 08/3/25(火) 23:45 お礼

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