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

¥ÎMarco²¤Æ¿é¤J¸ê®Æ

¥ÎMarco²¤Æ¿é¤J¸ê®Æ

¦³¨Ç­n§ä¦Ñ®v©M°ª¤âÀ°¦£,        ¸U¤À·P¿E.                       
        §Ú¥­®É·|¦bsheets"checking"ªºA2¥Î scaner±½ºË¤å¥ó¤Wªºbar code¸¹½X,©ÎªÌ¤â¤Jshipmenr ref no,¦A±Nbacth noªº¸ê®Æ§ó·s¨ìshipment record¬Û¹ïÀ³ªºÄæ¦ì                               
        ¦]¬°¨C¤é«Ü¦h¸ê®Æ§Æ±æ¥i¥Îmarco²¤Æ.                               
Sheet        Checking                  shipment record                       
        Äæ B                                                              Äæ R                       
        Äæ C                                                          Äæ O                       
        ­pºâ¦h¤Ö­ÓBATCH  ITEMSªºÁ`©M          Äæ P                       
        Äæ E                                                                  Äæ Q                       
        Äæ F                                                                   Äæ T                       
        Äæ G                                                          Äæ S

test abc rev.zip (55.12 KB)

¥»©«³Ì«á¥Ñ luhpro ©ó 2019-3-2 07:29 ½s¿è
¦³¨Ç­n§ä¦Ñ®v©M°ª¤âÀ°¦£,        ¸U¤À·P¿E.                       
        §Ú¥­®É·|¦bsheets"checking"ªºA2¥Î scaner±½ºË¤å¥ó¤Wªºbar code¸¹ ...
john2006168 µoªí©ó 2019-3-1 09:45

©êºp,¤£¬O¬Ý±o«ÜÀ´§Aªº·N«ä,¥u¯à¥H¦Û¤vªº²z¸Ñ¨Ó¹ê§@¤F.

¦b¦¹°²³]§A¬O­n¦b¿é¤JBarcode®É,
¦Û°Ê¦bData¤¤¥HSHIPMENT REFÄæ¦ì¬°Áä­È,
§ä¨ì¬ÛÃö¸ê®Æ±a¤Jshipment record¤º,
¨º»òµ{¦¡¥i¥H³o¼Ë¼g :(©³¤U===¤¤¬Oµ{¦¡©Ò©ñªº¦a¤è)

­º¥ý,±NDataªº¸ê®Æ«Ø¥ß¯Á¤Þ¥H¤è«K¤§«á§ì¨ú,
³o¸Ì¦³­ÓDictionary¨ç¼Æº¡¦n¥Îªº,
¥¦¥i¥Hª½±µ«Ø¥ß¬ÛÃö¯Á¤Þ.
¥t¥~,¬°¤F¤è«K«áÄò¨ú¥Î,
¤]±N©w¸q¤T­Ó¤u§@ªí.

¦]¬°³£­n¦b¤£¦PªºSheet¤¤¤]¯à¨Ï¥Î,
©Ò¥H­n¦b¼Ò²Õ¤¤¨Ï¥ÎPublic¨Ó©w¸q
===Module1===
  1. Public dShi
  2. Public shDat As Worksheet, shChk As Worksheet, shShr As Worksheet
½Æ»s¥N½X
¨ä¦¸,­n¦bµ{¦¡¤@°õ¦æ´N¥ý±NDataªº¸ê®Æ«Ø¥ß¯Á¤Þ¥H¤è«K¤§«á§ì¨ú,
©Ò¥H­n©ñ¦b Workbook_Open ¸Ì.
===ThisWorkBook ªº Workbook_Open===
  1. Dim lRow&, lRows&
  2.   
  3.   Set shDat = Sheets("Data")
  4.   Set shChk = Sheets("Checking")
  5.   Set shShr = Sheets("shipment record")
  6.   
  7.   Set dShi = CreateObject("Scripting.Dictionary")
  8.   
  9.   With shDat
  10.     lRows = .Cells(Rows.Count, 1).End(xlUp).Row
  11.     For lRow = 2 To lRows
  12.       dShi(CStr(.Cells(lRow, 8))) = lRow
  13.     Next
  14.   End With
½Æ»s¥N½X
(ÃD¥~¸Ü)³o¸Ì§Ô¤£¦í¤S­n¦AÁ¿¤@¦¸,
«Ø¥ß Dictionary ªº¨ç¼Æ½d¨Ò¤¤,
Scripting.Dictionary ±q¤@¶}©l´N§Ñ¤F¥[Âù¤Þ¸¹,
¤@ª½¨ì²{¦b¤´µMÁÙ¬O¨S¥[...ʨ
­è¶}©l¾Ç²ß®É§Ú¦b³o¸Ì®À§é¹L,
¨S·Q¨ì´«³o»ò¦hª©¥»¤FÁÙ¬O¨SÅÜ,
¬Ý¨Ó·L³n¬O¥´ºâ¿ù¨ì©³¤F.


±µµÛ,¦pªGData¦³·s¼W¸ê®Æ¤]­n§Y®É¥[¤JDictionary¸Ì¥H¤è«K«áÄò¨Ï¥Î.
===Data ªº Worksheet_Change===
  1.   With Target
  2.     If .Column = 8 Then
  3.       dShi(.Text) = .Row
  4.       ' ¦pªG²M±¼ SHIPMENT REF ­n§R°£¾ã¦C¸ê®Æ
  5.       Application.EnableEvents = False ' Åܧó¸ê®Æ¤¤,Ãö³¬Ä²µoChangeµ{§Ç
  6.         If .Text = "" Then Rows(.Row).Delete
  7.       Application.EnableEvents = True ' ¸ê®ÆÅܧ󧹲¦,«ì´_¥iIJµoChangeµ{§Ç
  8.     End If
  9.   End With
½Æ»s¥N½X
¦A¨Ó,­n°O¿ýChecking¸ê®Æ³Ì¥½¦C,
¥H«K«áÄò²K¥[¸ê®Æ.
===Module1===
  1. Public lShrRow&
½Æ»s¥N½X
===ThisWorkBook ªº Workbook_Open===
  1.   lShrRow = shShr.Cells(Rows.Count, 1).End(xlUp).Row
½Æ»s¥N½X
«e¸m§@·~§¹²¦,±µµÛ´N¬O­«ÀYÀ¸¤F.
===Checking ªº Worksheet_Change===
  1. Dim rTar As Range ' ¶ñ¸ê®Æ¼ÐªºÀx¦s®æAÄæ
  2.   
  3.   With Target
  4.     If .Address = "$A$2" Then
  5.       lRow = dShi(.Text)
  6.       Application.EnableEvents = False ' Åܧó¸ê®Æ¤¤,Ãö³¬Ä²µoChangeµ{§Ç
  7.         .Offset(, 1) = shDat.Cells(lRow, 1) ' B2
  8.         .Offset(, 2) = shDat.Cells(lRow, 6) ' C2
  9.         ' ¨ä¾l½Ð¦Û¦æ½Õ¾ã¶ñ¤J
  10.         
  11.         lShrRow = lShrRow + 1
  12.         Set rTar = shShr.Cells(lShrRow, 1) ' [A¥½µ§Äæ¼Æ]
  13.         With rTar
  14.           .Offset(-1).Resize(, Columns.Count - 1).Copy ' ½Æ»s¤W¤@¦æªºÀx¦s®æ
  15.           .PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone ' ¶K¤W®æ¦¡
  16.           .Value = Date ' ¤µ¤Ñ¤é´Á-AÄæ
  17.         End With
  18.         rTar.Offset(, 19) = .Offset(, 0) 'TÄæ
  19.         rTar.Offset(, 17) = .Offset(, 1) 'RÄæ
  20.         rTar.Offset(, 14) = .Offset(, 2) 'OÄæ
  21.         ' ¨ä¾l½Ð¦Û¦æ½Õ¾ã¶ñ¤J
  22.         
  23.         .Resize(, Columns.Count - 1).Clear ' ²M±¼¿é¤J°Ï¾ã¦æ¸ê®Æµ¥«Ý¿é¤J¤U¤@µ§
  24.       Application.EnableEvents = True ' ¸ê®ÆÅܧ󧹲¦,«ì´_¥iIJµoChangeµ{§Ç
  25.     End If
  26.   End With
½Æ»s¥N½X
·íµMÁÙ¦³§ïµ½ªºªÅ¶¡,
¨º´N­n¾a§A¦Û¤v§V¤O¤F.
test abc recv - ANS.zip (58.82 KB)

TOP

¦^´_ 2# luhpro

«Ü¦hÁ±z¸Ô²Óªºª`¸Ñ©M¤ÀªR¡A¥O§ÚÀò¯q¨}¦h¡A¤Q¤À·PÁ¡C

TOP

¦^´_ 2# luhpro


    «Ü¦hÁ¦ѮvªºÀ°¦£,test«á, Sheets("Checking")¤U¦Cªº¸ê®Æ¤£¥i¥Hupdate¨ìshipment record¬Û¹ïªº¦ì¸m.¥t¥~¬O§_¥i¥H¤£¥ß¨è²M°£scanªº¸ê®Æ,¤è«KÀˬd,½Ð¦Ñ®v¦A¦¸À°¦£
ITEM NO        BATCH NO        CUSTOMER CODE
1        1901387        JN1G
2        1901387        JN1G
3        1901387        JN1G
4        1901387        JN1G
5        1901387        JN1G
6        1901387        JN1G

test02.zip (244.7 KB)

TOP

¦^´_ 2# luhpro

test.png (133.1 KB)

test.png

TOP

¦^´_ 2# luhpro

test02.png (124.55 KB)

test02.png

TOP

¦^´_  luhpro
john2006168 µoªí©ó 2019-3-5 12:53

¥ý»¡¤@ÂI,
§A»¡¤£­n¥ß¨è²M°£scanªº¸ê®Æ,
¨º´N§â¨º¤@¦æ§ï©ñ¨ì¶}©l²£¥Í¯Á¤Þ¸ê®Æ«ü¥Oªº«e­±,
¨Ã°O±o¤£­n²M¨ì A2 ¸Ì­è­è¿é¤Jªº¸ê®Æ§Y¥i:

¥ý§R±¼³o¤@¦æ :
  1. .Resize(, Columns.Count - 1).Clear ' ²M±¼¿é¤J°Ï¾ã¦æ¸ê®Æµ¥«Ý¿é¤J¤U¤@µ§
½Æ»s¥N½X
¦A±N¸Ó¦æ½Õ¾ã¤º®e§ï¦¨©³¤U³o¼Ë :
  1. ...
  2.       Application.EnableEvents = False ' Åܧó¸ê®Æ¤¤,Ãö³¬Ä²µoChangeµ{§Ç
  3.         .Offset(, 1).Resize(, Columns.Count - 2).Clear ' ²M±¼¿é¤J°Ï¾ã¦æ¸ê®Æµ¥«Ý¿é¤J¤U¤@µ§
  4.         .Offset(, 1) = shDat.Cells(lRow, 1) ' B2
  5. ...
½Æ»s¥N½X
===================================================
±µµÛ¦^À³§Aªº°ÝÃD :

©Ò¥H³o´N¬O¬Ý¤£À´§A¨Ò¤lªº¦a¤è.
§A¬O­n±q Data ¸Ì¯Á¤Þ¥X»Ý­nªº¸ê®Æ,
¥ý¦s¦b  Checking ¸Ìªº A2,
¦A©ñ¶i  shipment record ¸Ì,
¨º¸ò A6 ¶}©lªº¸ê®Æ¤£ª¾¹D¦³¤°»òÃö«Y?

­º¥ý,§A Checking ¸Ì A6 ¶}©lªº¨º18¦C¸ê®Æ,
¬O§A±q Data ¯Á¤Þ¥X¨Óµ¹ shipment record ¥Îªº¶Ü?
¥i¬O§Aªº Data ¸Ì¨S¦³¥i¥H¹ï·Óªº¸ê®Æ,
¤£ª¾¹D¬O«ç»ò²£¥Í¥X A6 ªº¨º¨Ç¸ê®Æ.

¦A«h,¯Á¤Þ¹Lµ{¤¤ªº¸ê®Æ³£¬O©ñ¦b A2,
¬Ý¤£¥X¨Ó¸ò A6 ¸Ìªº¸ê®Æ«ç»ò¥æ¶°?

¨ä¦¸, ¦b shipment record ¸Ì BATCH NO ¬O 1901387 ªº¥u¦³¤@µ§¸ê®Æ,
¦ý§A Checking ¸Ì A6 °Ï¸Ì¬O¦³¦hµ§ªº.
©Ò¥H»Ý­n¥ýÂç²Mªº¬O§A¥u»Ý­n²£¥Í¤@µ§¸ê®Æ,ÁÙ¬O¦hµ§¸ê®Æ?
¦pªG¬O¤@µ§¸ê®Æ, ¨º»ò¥²µM¬O¦³»Ý¬Û¥[ªº­È(¨º»ò­n°w¹ï³o´XÄæ°µ»P¥Ø«e­È¬Û¥[),
¤Ï¤§,¨º»ò´N¬O­n´¡¤J·s¦C(¦]¬O´¡¤J¦C, «áÄò¯Á¤Þ­n­««Ø, ¤]¦]­n¯Á¤Þ, ³o¨Ç¸ê®ÆÁä­È¤]¤£¯à¬Û¦P).

¦]¬°¨âªÌªº³B²z¤è¦¡®t²§º¡¤jªº(¥]§t«áÄò§@·~),
§Aªº¨Ò¤l­Y©È¬ª±K,
³¡¤À¸ê®Æ¥i¥H°u¶qMark°_¨Ó(¥u­n¤£¼vÅT¹ê»Ú³B²zµ²ªG§Y¥i)
¨Ò¤l¸ê®Æ»Ý­n°÷¦h¦Ü¤Ö­n¯à§t¬A¤j³¡¤Àªº®t²§,
¨Ò¤l¤£¥i¥H³£¬O¬Û¦Pªº¸ê®Æ¤º®e,
³o¼ËµLªk«Ø¥ß¤@¹ï¤@ªº¯Á¤Þ(·|¥X²{«á»\«eªº±¡§Î))
¥H¤W©Ò»¡»Ý­n¥ýÂç²M·¡,
¤~¦n¶i¦æ«áÄò§@·~.

TOP

¦^´_ 7# luhpro

¦hÁ§AªºÀ°¦£,¨ä¥L°ÝÃD¤w¸g¦Û¤v¥i¥H§¹¦¨,²{¦b·Q°Ý¤@¤U,¦pªGscanªº¸ê®Æ,«ç»òcopy¨ì E7ªº¦ì¸m??

TOP

        ÀR«ä¦Û¦b : ­n§åµû§O¤H®É¡A¥ý·Q·Q¦Û¤v¬O§_§¹¬üµL¯Ê¡C
ªð¦^¦Cªí ¤W¤@¥DÃD