- ©«¤l
- 4901
- ¥DÃD
- 44
- ºëµØ
- 24
- ¿n¤À
- 4916
- ÂI¦W
- 277
- §@·~¨t²Î
- Windows 7
- ³nÅ骩¥»
- Office 20xx
- ¾\ŪÅv
- 150
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¥x¥_
- µù¥U®É¶¡
- 2010-4-30
- ³Ì«áµn¿ý
- 2024-12-23
|
¦^´_ 11# sax868
¬On§â"Updated Data"¹ïÀ³ªºÈ¼g¤J¨CÓ¤u§@ªíªº12¦C¥H¤U¤§AUÄæ¶Ü?- Sub Ex()
- Dim Sh As Worksheet, Ar()
- Set d = CreateObject("Scripting.Dictionary") '³Ð«Ø¦r¨åª«¥óÀx¦s"Updated Data"¹ïÀ³ªºÈ
- For Each Sh In Sheets
- With Sheets("Updated Data")
- For Each a In .Range(.[A2], .Cells(.Rows.Count, 1).End(xlUp))
- d(a & a.Offset(, 3) & a.Offset(, 12)) = a.Offset(, 49).Value '¥HA¡BD¡BM¬°¯Á¤Þ¦s¤JAXÄæ¦ìªºÈ
- Next
- End With
- With Sh
- If UBound(Filter(Array("Currency", "DATA", "Updated Data"), .Name, True)) < 0 Then '°£¤F³o¨Ç¤u§@ªí¥H¥~°õ¦æ
- ReDim Preserve Ar(57, x) 'ÂX¼W°}¦C
- If IsEmpty(Ar(0, 0)) Then '¡A¦pªG°}¦CÁÙ¨S«Ø¥ß¥ý¼g¤J¼ÐÃD¦C
- Ar(0, x) = .[B1].Value: Ar(1, x) = .[B2].Value: Ar(2, x) = .[D1].Value
- s = 3
- For Each a In .[A11:BB11].Value
- Ar(s, x) = a
- s = s + 1
- Next
- x = x + 1
- End If
- r = 12 '±q²Ä12¦C¥H¤U¶}©lŪ¤J¸ê®Æ¨ì°}¦C¤¤
- Do Until .Cells(r, 1) = "" 'ª½¨ìAÄ欰ªÅ¥Õ¬°¤î
- ReDim Preserve Ar(57, x)
- Ar(0, x) = .[C1].Value: Ar(1, x) = .[C2].Value: Ar(2, x) = .[E1].Value
- s = 3
- For Each a In .Range(.Cells(r, "A"), .Cells(r, "BB")).Value '±NA:BBÄæ¦ìŪ¤J°}¦C
- Ar(s, x) = a
- s = s + 1
- Next
- .Cells(r, "AU") = d(Ar(0, x) & Ar(3, x) & Ar(12, x)) '±N¤u§@ªíªºAUÄæ¦ì¼g¤J¹ïÀ³ªºUpdated DataÈ
- x = x + 1: r = r + 1 '¤U¤@¦C
- Loop
-
- End If
- End With
- Next
- With Sheets.Add(after:=Sheets(Sheets.Count)) '·s¼W¤u§@ªí©ó³Ì«á
- For i = 0 To UBound(Ar, 2)
- For j = 0 To 56
- .[A1].Offset(i, j) = Ar(j, i) '¤@¤@±N°}¦C¤¸¯À¼g¤JÀx¦s®æ
- Next
- Next
- End With
- End Sub
½Æ»s¥N½X |
|