1017:デフォルトの名無しさん
15/11/27 20:15:46.59 da9bxK3g.net
うめ
1018:デフォルトの名無しさん
15/11/27 20:39:25.69 9HV+ag/s.net
>>984
埋めるならまず次スレを建てよう
ということで次スレ
スレリンク(tech板)l50
1019:977
15/11/27 21:08:32.35 ueGoHWsY.net
>>979->>983
皆さんレスありがとうございました。
特に>>980さん、>>983さんのコードで以前の100分の1程度の時間で完了できるように
なり、これでやりたいことがかなり効率的にできるようになりました。
本当にありがとうございました。
1020:デフォルトの名無しさん
15/11/28 04:28:56.18 pUzfW1Xj.net
うめ
1021:デフォルトの名無しさん
15/11/28 13:52:20.90 49Yj8K8D.net
力技でコード組んでも、工夫で軽くなるんだなー。
感動する。
1022:デフォルトの名無しさん
15/11/28 20:36:51.89 7Nzrztmy.net
うめ
1023:デフォルトの名無しさん
15/11/28 22:52:24.75 W/xTcAqm.net
バラク・小浜
1024:デフォルトの名無しさん
15/11/29 04:07:41.64 go0WztlF.net
>>989
ウメモッチーノ
1025:デフォルトの名無しさん
15/11/29 05:02:15.01 AkCGW1ae.net
うめ
1026:デフォルトの名無しさん
15/11/29 06:38:16.41 ofqZS0/w.net
うめ
1027:デフォルトの名無しさん
15/11/29 09:20:45.32 UjY32LCs.net
>>986
いまさらながら>>981のアルゴリズムでコード書いてみた
このコードだと各セルの値が整数でないとダメとか、
若干の制約はあるけど実行スピードは速いみたいよ
Sub test()
Dim rw As Long
Dim tmp As Long
Dim idx() As Long
ReDim idx(0 To 9999)
Application.ScreenUpdating = False
With ThisWorkbook.Sheets(2)
For rw = 5 To 3800
idx(.Cells(rw, 1).Value) = rw
Next rw
End With
With ThisWorkbook.Sheets(1)
For rw = 2 To 5500
tmp = idx(.Cells(rw, 1).Value)
If tmp > 0 Then
.Cells(rw, 4).Resize(1, 4).Value = ThisWorkbook.Sheets(2).Cells(tmp, 4).Resize(1, 4).Value
End If
Next rw
End With
Application.ScreenUpdating = True
End Sub
1028:デフォルトの名無しさん
15/11/29 12:56:50.04 Yod17yPO.net
>>978
シートをソートしてから突き合わせればすぐ終わるだろ
1029:デフォルトの名無しさん
15/11/29 20:34:50.04 /hdNGIJ1.net
うめ
1030:デフォルトの名無しさん
15/11/30 04:32:25.41 D4iMrDsB.net
梅
1031:デフォルトの名無しさん
15/11/30 04:33:47.91 TNWuC1ai.net
うめ
1032:デフォルトの名無しさん
15/11/30 07:52:45.09 s0H/5W+p.net
sub ume()
1033:デフォルトの名無しさん
15/11/30 09:02:54.56 BURmYQFZ.net
そこはsubじゃなくてSubと書けよと
1034:デフォルトの名無しさん
15/11/30 09:05:39.16 LH7PQQfb.net
End Sub
1035:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
1036:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています