|
本帖最后由 JLxiangwei 于 2014-7-15 15:18 编辑
gwfzh 发表于 2014-7-15 15:06
谢谢老师帮助,在“ ReDim arrtemp(1 To 3, 1 To d0.Count)”后,按老师的更改还是得不到值!见附件
...
你还是没有理解我说的意思
Sub dc() '嵌套数组
Dim dic, d0, brr, cr, m(), sh As Worksheet
Dim arrtemp
Set dic = CreateObject("Scripting.Dictionary")
Set d0 = CreateObject("Scripting.Dictionary")
cr = Sheet3.[A1].CurrentRegion
br = Array("原始表", "原始表hj", "原始表fhj", "")
ReDim Sr0(1 To 3, 1 To UBound(cr, 2)) '取得各类总数和
' For j = 1 To UBound(cr, 2)
' For i = 2 To UBound(cr)
' If cr(i, j) <> "" Then d0(cr(i, j)) = ""
' Next
' Next
For Each sh In Sheets
If InStr(sh.Name, "原始表") Then
brr = sh.Range("A2").CurrentRegion
For I = 3 To UBound(brr)
For j = 1 To UBound(cr, 2)
For ii = 2 To UBound(cr)
If cr(ii, j) <> "" Then
If brr(I, 1) = cr(ii, j) And brr(I, 2) <> "" Then d0(cr(ii, j)) = "": Sr0(j, 1) = Sr0(j, 1) + 1 '取得 "原始表", "原始表hj", "原始表fhj"各类种数
End If
Next
Next
Next
For I = 3 To UBound(brr)
If d0.exists(brr(I, 1)) And brr(I, 2) <> "" Then
d0(brr(I, 1)) = ""
dic(brr(I, 1) & sh.Name) = Array(brr(I, 2), brr(I, 8), brr(I, 10))
Else
End If
Next
End If
Next
k0 = d0.KEYS
t0 = d0.items
k = dic.KEYS
t = dic.items
ReDim orr0(1 To 3)
ReDim or0(0 To d0.Count)
ReDim orr1(1 To 3, 0 To d0.Count)
' On Error Resume Next
For j0 = 1 To 3
orr0(j0) = or0
Next
Stop
With Sheet6
For j = 2 To 10 Step 3
s = s + 1
kk = kk + 1
For I = 0 To d0.Count - 1 ' .[a65536].End(3).Row
For j0 = 0 To 2
arrtemp = Application.Transpose(dic(k0(I) & br(j0)))
.Cells(I + 3, j).Resize(3, 1) = arrtemp '怎么给单元格赋值,请老师帮忙了!!!
Next
Next
Next
End With
End Sub
我不知道你熬吧数据放在哪,这样足部运行看看结果
|
|