ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

VAB ¸ê®Æ¤ñ¹ï¤ÎÂà¼g

¥»©«³Ì«á¥Ñ luhpro ©ó 2016-3-25 00:38 ½s¿è

¦^´_ 1# maggie1313
¤@¯ë­Y¹J¨ì "¦³¤@­Ó¦@¦PªºKEY ­È(¤£·|­«ÂÐ)" ³oÃþªº»Ý¨D,
§Ú·|Àu¥ý¨Ï¥Î Directory ¨ç¼Æ¨Ó¹ê²{.

¦]¬°§A¨S´£¨Ñ½d¨ÒExcelÀÉ®×,
©Ò¥H§Ú¥t¥~°µ¤@­Ó,
§A¥i¥H°Ñ·Ó­×§ï¹ê²{§Aªº»Ý¨D.
  1. Private Sub cbMerge_Click()
  2.   Dim lRow&
  3.   Dim sStr$
  4.   Dim vD1, vD2
  5.   
  6.   Set vD1 = CreateObject("Scripting.Dictionary")
  7.   Set vD2 = CreateObject("Scripting.Dictionary")
  8.   
  9.   Sheets("¦X¨Ö").Range([B2], [C100]).Clear
  10.   
  11.   With Sheets("¯Á¤Þ¤@")
  12.     lRow = 2
  13.     While .Cells(lRow, 1) <> ""
  14.       vD1(CStr(.Cells(lRow, 1))) = .Cells(lRow, 2)
  15.       lRow = lRow + 1
  16.     Wend
  17.   End With
  18.   
  19.   With Sheets("¯Á¤Þ¤G")
  20.     lRow = 2
  21.     While .Cells(lRow, 1) <> ""
  22.       vD2(CStr(.Cells(lRow, 1))) = .Cells(lRow, 2)
  23.       lRow = lRow + 1
  24.     Wend
  25.   End With

  26.   With Sheets("¦X¨Ö")
  27.     lRow = 2
  28.     While .Cells(lRow, 1) <> ""
  29.       sStr = .Cells(lRow, 1)
  30.       .Cells(lRow, 2) = vD1(sStr)
  31.       .Cells(lRow, 3) = vD2(sStr)
  32.       lRow = lRow + 1
  33.     Wend
  34.   End With
  35. End Sub
½Æ»s¥N½X
Dictionary¹ê°µ.zip (10.02 KB)

¸É¥R:
¦pªG»Ý­n¥Î¨ì¾ã¦C¤¤¤£¥u¤@Ä檺¸ê®Æ,
¥i¥H¯Á¤Þ ¦C¸¹:
vD1(CStr(.Cells(lRow, 1))) = lRow
¦A¥Î
Sheets("¦X¨Ö").Cells(lRow, 2) = Sheets("¯Á¤Þ¤@").Cells(vD1(sStr), Ä渹)
¨Ó¨ú±o·Q­nªº¸ê®Æ.

¥t¥~,«Øij¤j®a¶}ÃD¤å¤¤¾¨¶q¯à¤@¨Ö´£¨Ñ¤w¸g¥´¦n½d¨Ò¸ê®ÆªºExcelÀÉ®×,
³o¼Ë¦^¤åªº¤H¤~¤£¥ÎÁÙ­n¦Û¤v¨Ì·Ó¹Ï¤ù¤º®e¤@­Ó¤@­Ó¿é¤J¸ê®Æ«ØExcelÀÉ®×,
¥i¥H§â®É¶¡±Mª`¦b¦p¦ó¹ê²{§Aªº»Ý¨D¤W.

TOP

¦^´_ 3# kim223824
¨º´N§ï¥H ½s¸¹_©m¦W ©Î¬O ½s¸¹_«°¥«  ªº²Õ¦XÁä­È¨Ó°µ°Ï¤À.
¨ä¤¤ªº _ ¥i¥H§ï¬°¥ô¦ó¨t²Î¥i±µ¨ü¨Ã¨¬¸ê°Ï¤Àªº²Å¸¹©Î¤å¼Æ¦r¨Ó¨ú¥N.

TOP

¥»©«³Ì«á¥Ñ luhpro ©ó 2016-3-29 21:51 ½s¿è

¦^´_ 5# maggie1313
§A¨S¦³´£¨Ñ¥¿½Tµ²ªG½d¨Ò,©Ò¥H§Ú¥u¯à¥Î²qªº:
  1. Sub nn()
  2.   Dim lRow&
  3.   Dim wsSou As Worksheet, wsTar As Worksheet
  4.   Dim vD
  5.   
  6.   Set vD = CreateObject("Scripting.Dictionary")
  7.   Set wsSou = Sheets("EF³æ¨­")
  8.   Set wsTar = Sheets("¦X¨Ö¸ê®Æ")
  9.   
  10.   lRow = 2
  11.   With wsSou
  12.     While .Cells(lRow, 8) <> ""
  13.       wsTar.Cells(lRow, 1) = .Cells(lRow, 8)
  14.       wsTar.Cells(lRow, 2) = .Cells(lRow, 9) & "-" & .Cells(lRow, 10)
  15.       vD(CStr(.Cells(lRow, 8) & "-" & .Cells(lRow, 9) & "-" & .Cells(lRow, 10))) = lRow
  16.       lRow = lRow + 1
  17.     Wend
  18.   End With
  19. End Sub
½Æ»s¥N½X

TOP

¥»©«³Ì«á¥Ñ luhpro ©ó 2016-4-1 03:14 ½s¿è
¦^´_  luhpro
§A¦n¡A·PÁ§Aªº¸Ñµª¡C´ú¸Õ«á¬OOKªº¡C¦ý²{¦b§Ú¦³¥t­Ó°ÝÃD·Q½Ð°Ý¡A¦p¹Ï
´N¬O§Ú­Ìªº¦X¨Ö¸ê®Æ­n ...
maggie1313 µoªí©ó 2016-3-30 11:12

¦P§Ú 2# ©Ò­z,
³o¸Ì¨Ì§Aµ²ªG¸ê®Æ¨Ó¬Ý¥u»Ý­n§ì³æ¤@¸ê®Æ,
¬G Dictionary ª½±µ¦s¸Ó¸ê®Æ.
  1. Sub DATABASE()
  2.   Dim lRow& ' ¦C¸¹
  3.   Dim wsSou1 As Worksheet, wsSou2 As Worksheet, wsTar As Worksheet '¤u§@ªí
  4.   Dim vD
  5.   
  6.   Set vD = CreateObject("Scripting.Dictionary")
  7.   Set wsSou1 = Sheets("EF³æÀY")
  8.   Set wsSou2 = Sheets("EF³æ¨­")
  9.   Set wsTar = Sheets("¦X¨Ö¸ê®Æ")
  10.   
  11.   With wsTar ' With wsTar »P End With ¶¡­Y¦³¥H . ¶}ÀYªº«ü¥O, ¨ä . µ¥¦P wsTar (¥ç§Y Sheets("¦X¨Ö¸ê®Æ"))
  12.     .Range(.[A2], .[D50]).Clear ' µ¥¦P wsTar.Range(wsTar.[A2], wsTar.[D50]).Clear  .[A2]=wsTar.Range("A2")
  13.   End With
  14.   
  15.   lRow = 1 ' ¦]¬°¨S¦³¼ÐÃD¦C, ¬G±q²Ä1¦C¶}©l§ì
  16.   With wsSou1 ' EF³æÀY
  17.     While .Cells(lRow, 8) <> "" ' Cells(¦C¸¹, Ä渹) Ä渹 8 = H Äd, ³v¦C§ì¨ú¸ê®Æ
  18.      vD(CStr(.Cells(lRow, 8) & "-" & .Cells(lRow, 9))) = .Cells(lRow, 14) ' vD("ODMGET_M00602-201602220001") = 4355 ­Y¥u­n§ìª÷ÃB,¨º´Nª½±µ©ñª÷ÃB
  19.       lRow = lRow + 1
  20.     Wend
  21.   End With
  22.   
  23.   lRow = 2
  24.   With wsSou2 ' EF³æ¨­
  25.     wsTar.Range(wsTar.[A2], wsTar.[D20]).Clear ' ²M°£¤W¦¸²£¥Íªº¸ê®Æ, ¥¿¦¡¨Ï¥Î¥i¥H§R±¼¦¹¦æ
  26.     While .Cells(lRow, 8) <> ""
  27.       wsTar.Cells(lRow, 1) = .Cells(lRow, 8)
  28.       wsTar.Cells(lRow, 2) = .Cells(lRow, 9) & "-" & .Cells(lRow, 10)
  29.         ' ¥Î "-" ¬O¦]¬° Áä(Key, ¯Á¤Þ)­È ¤º¨S¦³ "-", ¬G¥H¨ä°µ¬°¨âÄd¸ê®Æªº»Î±µ²Å¸¹,ÁקKÃþ¦ü111222333 ¥[¤W 123456 »P 1112223331 ¥[¤W 23456 ¨âªÌ·|µø¬°¬Û¦Pªº°ÝÃD.
  30.       wsTar.Cells(lRow, 3) = vD(CStr(.Cells(lRow, 8) & "-" & .Cells(lRow, 9))) ' ±q Dictionary ¤¤¯Á¤Þ EF³æÀY ªºª÷ÃB
  31.       wsTar.Cells(lRow, 4) = .Cells(lRow, 18) ' ±q R Äd(Ä渹 = 18)ª½±µ§ìª÷ÃB
  32.       lRow = lRow + 1
  33.     Wend
  34.   End With
  35. End Sub
½Æ»s¥N½X
VAB ¸ê®Æ¤ñ¹ï¤ÎÂà¼g.zip (24.85 KB)

¸É¥R :  ­è­è¤~¬Ý¨ì ²Ä¤G­¶ ªºµo¤å,
©Ò¥H¦C¸¹°_©l¼Æ¦r¨SÅÜ,
§A¥i¥Hª½±µ§ï¦¨§A»Ý­nªº¼Æ¦r´N¥i¥H¤F.

TOP

¥»©«³Ì«á¥Ñ luhpro ©ó 2016-4-2 22:28 ½s¿è
¦^´_  luhpro
¥Ø«e´ú¸Õ³£OK¡CÁÙ¦³´X­Ó°ÝÃD·Q­n¦b½Ð±Ð
¤@¡B¦pªG¨Ó·½³æÀYªº¸ê®ÆÁÙ¦³¦hµ§¸ê®Æ­n¸ü¤J¡u¦X¨Ö¸ê ...
maggie1313 µoªí©ó 2016-4-1 11:42

§Ú¦b 2# ¦³»¡¤F³á :
¦pªG»Ý­n¥Î¨ì¾ã¦C¤¤¤£¥u¤@Ä檺¸ê®Æ,
¥i¥H¯Á¤Þ ¦C¸¹:
vD1(CStr(.Cells(lRow, 1))) = lRow
¦A¥Î
Sheets("¦X¨Ö").Cells(lRow, 2) = Sheets("¯Á¤Þ¤@").Cells(vD1(sStr), Ä渹)
¨Ó¨ú±o·Q­nªº¸ê®Æ.

¥u­nÅܧóÄ渹´N¥i¥H§ì¸Óµ§¸ê®Æ¤¤ªº¥ô¤@­Ó¸ê®Æ,
­«ÂI¬O­n¥ý¨ú±o¸Óµ§¸ê®Æªº¦C¸¹,
¬d¸ß®É¤]¬O¥H Key ­È(¦C¸¹)¨Ó¯Á¤Þ¸ê®Æªº.

©Ò¥H:
vD1(CStr(.Cells(lRow, 8) & "-" & .Cells(lRow, 9))) = .Cells(lRow, 14)
vD2(CStr(.Cells(lRow, 8) & "-" & .Cells(lRow, 9))) = .Cells(lRow, 15)
...
MixDB.Cells(lRow, 3) = vD1(CStr(.Cells(lRow, 8) & "-" & .Cells(lRow, 9)))
MixDB.Cells(lRow, 5) = vD2(CStr(.Cells(lRow, 8) & "-" & .Cells(lRow, 9)))

¥i¥H§ï¦¨:

vD1(CStr(.Cells(lRow, 8) & "-" & .Cells(lRow, 9))) = lRow
...
MixDB.Cells(lRow, 3) = EFhand.Cells(VD1(CStr(MixDB.Cells(lRow, 1) & "-" & Right(MixDB.Cells(lRow, 2), 12))),14) ' ¥u§ì«e 12 ­Ó¦r(201602220001)
MixDB.Cells(lRow, 5) = EFhand.Cells(VD1(CStr(MixDB.Cells(lRow, 1) & "-" & Right(MixDB.Cells(lRow, 2), 12))),15)
µ{¦¡Åܫܪø,¦ý¹ê»Ú¥i¨Ì§A»Ý¨Dµ½¥Î With »P End With ²¤Æ¤Î§Q©ó§PŪ.

¦Ü©ó VD2 ¥i¥H¯dµ¹ MixDB ¥Î .

¤T¡B¥t¥~§Ú·Q­n¦b½Ð±Ð¤@­Ó°ÝÃD...

vD2(CStr(MixDB.Cells(lRow, 1) & "~" & MixDB.Cells(lRow, 2)  = lRow ' ½Ð¯d·N¦P¼Ë¬°ÁקK»~§P,³o¸Ì§ï¥Î "~" ¦Ó«D "-"  ¨Ó°µ°Ï¹j.
«h ³æÀYª÷ÃB ¥i¥Î MixDB.Cells(VD2(CStr(TextBox1 & "~"  & TextBox2 & "-"  & TextBox3)), 3) ¨Ó§ì ' °²³] TextBox? ¤À§O©ñ ³æ¨­³æ§O ¡B ³æ¨­³æ¸¹ ¤Î §Ç¸¹

¤G¡B¥t¥~µ{¦¡¤¤¦³¤@¬q§Ú¤£¬O«Ü²M·¡¥Î·N...

³o¥u¬O­«½ÆÅçÃÒ°õ¦æµ²ªG«e²M¸ê®Æ¥Îªº,
¬Ý§A¹ê»Úªº»Ý¨D¤£¨£±o­n©ñ.

TOP

¦^´_  luhpro
...
Ãö©ó²Ä¤T­Ó°ÝÃD¡A§Ú¤£¬O«Ü²M·¡¼gªk¡C§Ú¤w¸g¦³³]­p¦n¤@­Óuserformªº¬d¸ßµe­±¡A¸Ì­±·|¦³¬d¸ßªºÄæ¦ì¥Ø«e³]­p¤TÄæ¡C
¤H­û¥u­n¿é¤J¬d¸ßªº¸ê®Æ(ps.¦³¥i¯à¥u¿é¤J¤@µ§¡A¤Gµ§¡A©Î¤Tµ§¤£¤@©w)¡A¦ý¨t²Î­n¦í¥L©Ò¿é¤Jªº¸ê®Æí©M¡A¤~·|±N¬d¸ßªº¸ê®Æ¡u¦X¨Ö¸ê®Æ¡v¤º®e½Æ»s¨ì¡u¬d¸ß¡vªº­¶Ã±¡C ...
maggie1313 µoªí©ó 2016-4-6 17:51

Excel ¦³­Ó ¶i¶¥¿z¿ï ªº¥\¯à, §A¥i¥H¸Õ¸Õ :

¥ý§â User ¿é¤Jªº±ø¥ó¨Ì§Ç©ñ¤J C14 ~ E14,
¦A°õ¦æ¤U¦C«ü¥O:
  1. [A1].CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=[C13:E14], CopyToRange:=[A22], Unique:=False
½Æ»s¥N½X
³Ì«á¦A§âµ²ªG [A22].CurrentRegion  Copy ¹L¥h§Y¥i.

TOP

        ÀR«ä¦Û¦b : ¯à·F¤£·F¡A¤£¦p­W·F¹ê·F¡C
ªð¦^¦Cªí ¤W¤@¥DÃD