[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 09/08 12:54 / Filesize : 170 KB / Number-of Response : 630
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Excel VBA質問スレ Part10



163 名前:デフォルトの名無しさん mailto:sage [2009/03/09(月) 22:48:59 ]
1万件Union、素人なりにがんばってみますた。うちのネットブックで6秒です。Core2のデスクトップなら2、3秒でしょう。
掲示板の行数制限とかあるんで配列の大きさとループの回数を定数にしたんで汎用性ゼロです。

Declare Function timeGetTime Lib "winmm.dll" () As Long
Sub aaa()
 T1 = timeGetTime()
 ScreenUpdating = False
 Dim a(270) As String
 Dim si As Integer
 Dim s As String
 For i = 1 To 10000
  w = "A" & (i * 6 - 3)
  If Len(s & w) <= 255 Then
    s = s & w & ","
  Else
   a(si) = Left(s, Len(s) - 1)
   si = si + 1
   s = w & ","
  End If
 Next
 a(si) = Left(s, Len(s) - 1)
 Set r = Range(a(0))
 For i = 1 To 233 Step 29
  Set r = Union(r, Range(a(i)), Range(a(i + 1)), Range(a(i + 2)), Range(a(i + 3)), Range(a(i + 4)), Range(a(i + 5)), Range(a(i + 6)), Range(a(i + 7)), Range(a(i + 8)), Range(a(i + 9)), Range(a(i + 10)), _
      Range(a(i + 11)), Range(a(i + 12)), Range(a(i + 13)), Range(a(i + 14)), Range(a(i + 15)), Range(a(i + 16)), Range(a(i + 17)), Range(a(i + 18)), Range(a(i + 19)), Range(a(i + 20)), Range(a(i + 21)), _
      Range(a(i + 22)), Range(a(i + 23)), Range(a(i + 24)), Range(a(i + 25)), Range(a(i + 26)), Range(a(i + 27)), Range(a(i + 28)))
 Next
 Set r = Union(r, Range(a(262)), Range(a(263)), Range(a(264)), Range(a(265)), Range(a(266)), Range(a(267)), Range(a(268)), Range(a(269)), Range(a(270)))
 Cells(1, 2) = ((timeGetTime() - T1) / 1000) & "秒"
 r.Value = "うにお" '念のためテストデータ書き込み
 ScreenUpdating = True
End Sub






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<170KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef