Excel VBA質問箱 IV

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

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


33980 / 76734 ←次へ | 前へ→

【47969】Re:配列の値のmax minについて
発言  ウッシ  - 07/3/28(水) 13:50 -

引用なし
パスワード
   こんにちは

>配列の要素数に限界があるので注意。
でした。(..)

配列ならループしてもそんなに時間掛からないですね。

Sub test1()
  Dim AAA(1 To 1000000)
  Dim i  As Long
  Dim maxD As Long
  Dim minD As Long
  For i = 1 To UBound(AAA)
    AAA(i) = i
  Next
  maxD = AAA(1): minD = AAA(1)
  For i = 2 To UBound(AAA)
    maxD = IIf(AAA(i) > maxD, AAA(i), maxD)
    minD = IIf(AAA(i) < minD, AAA(i), minD)
  Next
  Debug.Print maxD
  Debug.Print minD
  Erase AAA
End Sub

配列(↓では単純に数値)を空のレコードセットに読み込んでソートしてって
試しましたけど遅かった。(AddNewがネックでした。)

Sub test2()
  Dim i   As Long
  Dim c   As Long
  Dim v   As Variant
  Dim rs   As Object
  Dim s   As String

  Set rs = CreateObject("ADODB.Recordset")

  With rs
    With .Fields
      .Append "data", 14   'adDecimal
    End With
    .CursorLocation = 2
    .Open
    For i = 1 To 1000000
      .AddNew
      !data = i
    Next
    .MoveFirst
    If .RecordCount > 0 Then
      .Sort = "[data] DESC"
      Debug.Print "最大値   ---" & .GetRows(1, 0, "data")(0, 0)
      .Sort = "[data] ASC"
      Debug.Print "最小値   ---" & .GetRows(1, 0, "data")(0, 0)
    End If
    .Close
  End With
  Set rs = Nothing
End Sub

3 hits

【47959】配列の値のmax minについて GG 07/3/28(水) 10:20 質問
【47961】Re:配列の値のmax minについて ウッシ 07/3/28(水) 10:30 発言
【47963】Re:配列の値のmax minについて GG 07/3/28(水) 10:47 お礼
【47964】Re:配列の値のmax minについて Jaka 07/3/28(水) 10:52 発言
【47967】Re:配列の値のmax minについて GG 07/3/28(水) 11:48 お礼
【47969】Re:配列の値のmax minについて ウッシ 07/3/28(水) 13:50 発言
【47981】Re:配列の値のmax minについて GG 07/3/28(水) 22:54 お礼
【47984】Re:配列の値のmax minについて JuJu 07/3/29(木) 10:09 発言
【48010】Re:配列の値のmax minについて ichinose 07/3/30(金) 10:11 発言
【48011】Re:配列の値のmax minについて ウッシ 07/3/30(金) 10:29 発言
【48012】Re:配列の値のmax minについて Jaka 07/3/30(金) 11:11 発言
【48043】Re:配列の値のmax minについて JuJu 07/4/1(日) 13:37 発言
【48058】Re:配列の値のmax minについて ichinose 07/4/2(月) 8:09 発言
【48063】結果発表 Jaka 07/4/2(月) 13:31 発言

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