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

VBA ¸ê®Æ·j´M°ÝÃD

¦^´_ 1# Qin
½Ð°Ñ¦Ò
VBA¸ê®Æ·j´M.rar (43.67 KB)

TOP

¦^´_ 12# Qin
Q1¡G§Æ±æVB ·j´Mµ²ªG§e²{ªº¬O¥Ñ¤µ¦Ü»·¡C
A1¡G¤w¥[¼g¤F¡A¦pªþ¥ó¡C

Q2¡G¤è«K¦b·j´M¦Z, ¥i¥H¶i¤@¨B¿z¿ï¡C
A2¡G¤£´¿¼g¹L³oºØ¤è¦¡¡AÁÙ¬O½Ð¨ä¥L«e½úÀ°¦£§a¡C

°}¦Cªºµ{¦¡½X¤w¥[µù¡A½Ð°Ñ¦Ò¡G
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     Dim arr     '«Å§iarr¬°ÀRºA°}¦C
  3.     Dim brr()   '«Å§ibrr¬°°ÊºA°}¦C
  4.     If Target.Count <> 1 Then Exit Sub  '°²¦pChangeªºÀx¦s®æ¼Æ¶q¤£¬O1­Óªº¸Ü°h¥Xµ{§Ç
  5.     If Intersect(Target, [B1:B3]) Is Nothing Then Exit Sub      '°²¦pChangeªºÀx¦s®æ¤£¬O¦ì©óB1:B3Àx¦s®æ¤¤ªº¥ô¤@­Óªº¸Ü°h¥Xµ{§Ç
  6.     If Target.Value = "" Then       '°²¦pChangeªºÀx¦s®æªº­È¬OªÅ­È±o¸Ü(³QUser«ö¤FDeleteÁä)®É....
  7.         Application.EnableEvents = False        '¨ú®øIJµo¨Æ¥óÁקK¦]©³¤UªºDelete¦Ó¦A¦¸Ä²µo¦¹Change¨Æ¥ó
  8.         Rows("4:" & Cells.Rows.Count).Delete    '§R°£²Ä4¦C¦Ü³Ì©³¦CªºÂ¸ê®Æ
  9.         Application.EnableEvents = True     '«ì´_IJµo¨Æ¥ó
  10.         Exit Sub    '°h¥Xµ{§Ç
  11.     End If
  12.     ar = Array(6, 7, 4)     '±N6, 7, 4µ¥ÃöÁäÄæ¦ì¦s¤Jar°}¦C¤¤
  13.     arr = Sheets("Data").Range("A2:J" & Sheets("Data").[A1].End(4).Row)     '±NData¤u§@ªí¤ºªºA2¦ÜJÄ榳¸ê®Æªº³Ì©³¦C¦s¤JarrÀRºA°}¦C¤¤
  14.     n = 0   'n­È¦s¤J0
  15.     For i = 1 To UBound(arr)    '±q1¦Ü arr 1ºûªº³Ì¤j¤U¼Ð­È§@¬°°j°é
  16.         If arr(i, ar(Target.Row - 1)) = Target.Value Then   '°²¦pÀRºA°}¦Carr¤¤ªº¦Ci¤Îar°}¦C¤¤Ä檺¸ê®Æµ¥©óChangeªºÀx¦s®æªº¸ê®Æ®É....
  17.             n = n + 1   'nªº­È¥[1
  18.             ReDim Preserve brr(1 To 10, 1 To n)     '­«·s«Å§i°ÊºA°}¦Cbrrªº¤@¡B¤Gºû¤W¡B¤U¼Ðªº¼Æ²Õ¡A¥H·Ç³Æ¦s¤J©³¤U°j°éªº¸ê®Æ
  19.             For j = 1 To 10     '¦]DataÄæ¦ìÁ`¦@¬°10Äæ¡A¦]¦¹°j°é10¦¸¨ÓŪ¨ú¸Óarr¤º²Å¦X¦Cªº¸ê®Æ¡A¦s¤J°ÊºA°}¦Cªºbrr¤º
  20.                 brr(j, n) = arr(i, j)   '±N¤W­zª¬ªp¦s¤J­È
  21.             Next j
  22.         End If
  23.     Next i
  24.     If n = 0 Then   '°²¦p¤W­z°j°é³£§ä¤£¨ì¸ê®Æ®É....
  25.         MsgBox "©ó¸ê®Æ®w¤¤¨ÃµL²Å¦X·j´M±ø¥ó¡ã", vbCritical + vbOKOnly, "½Ðª`·N"      '¼u¥X°T®§Äµ§i
  26.         Exit Sub    '°h¥Xµ{§Ç
  27.     End If
  28.     Application.EnableEvents = False    '¨ú®øIJµo¨Æ¥ó
  29.     For i = 1 To 3  '¦¹°j°é¥D­n³B²zB1:B3Àx¦s®æ¤ºªº´Ý¦s¸ê®Æ
  30.         If Cells(i, 2).Address <> Target.Address Then Cells(i, 2).Value = ""    '°²¦pB1:B3Àx¦s®æ¤º¤£¬OChangeªºÀx¦s®æ¡A«h§R°£¸ê®Æ
  31.     Next i
  32.     Application.ScreenUpdating = False      '±N¿Ã¹õ­áµ²¡A¥H´î¤Öµe­±ªº¸õ°Ê
  33.     Rows("4:" & Cells.Rows.Count).Delete    '§R°£²Ä4¦C¦Ü³Ì©³¦CªºÂ¸ê®Æ
  34.    
  35.     [A4].Resize(n, 10) = Application.Transpose(brr) '±N¦s¤Jbrrªº­ÈÂà¸m«á©ñ¤J¥HA4Àx¦s®æ®i©µn¦C¡A10Ä檺½d³ò¤º
  36.     'ª`·N¤W­±ªºTranspose¡A¦]VBA³Ì¦h¥u¯àÂà¸m65536¦C¸ê®Æ¡A¦h¤F´N·|²£¥Í¿ù»~¡A§Ú¥Îªº2010ª©¡A¤§«áªºª©¥»¬O§_¦³§ó·s¤£±o¦Óª¾¡C
  37.    
  38.     Application.ScreenUpdating = False  '¨ú®ø¿Ã¹õ­áµ²
  39.     Application.EnableEvents = True         '«ì´_IJµo¨Æ¥ó
  40. End Sub
½Æ»s¥N½X
Book1(½d³òª«¥óªk¥[±Æ§Ç).rar (20.56 KB)

TOP

¦^´_ 15# Qin

½Ð°Ñ¦Ò
Book1(½d³òª«¥óªk¥[±Æ§Ç)-1.rar (26.06 KB)

TOP

¦^´_ 18# Qin

¸Õ¬Ý¬Ý
Book1(½d³òª«¥óªk¥[±Æ§Ç)-2.rar (26.14 KB)

TOP

¦^´_ 23# Qin
½Ð°Ñ¦Ò
Book1(½d³òª«¥óªk¥[±Æ§Ç)-3.rar (31.13 KB)

TOP

¦^´_ 25# Qin
­ì¥ý³]­p¤£ª¾·|¥Î¨ì¨º»ò¦hªº¸ê®Æ¡A¤w­×§ïµ{¦¡½X¡C
¼ÒÀÀ10¸Uµ§¸ê®Æ¤j¬ù1¬í¤º¯à·j´M§¹¦¨¡C
¦]¤W¶ÇÀɮפj¤p­­¨î¡A¦ÓµLªk±N¼ÒÀÀªº10¸Uµ§¸ê®Æ¤W¶Ç¡C
½Ð°Ñ¦Ò¡C
Book1(½d³òª«¥óªk10¸Uµ§)-4.rar (28.64 KB)

TOP

¦^´_ 27# Qin
½Ð¬d¾\ThisWorkbook¼Ò²Õ«Kª¾¡C

TOP

¦^´_ 71# Qin

¦Û±q­ã¤j¼ö¤ßÀ°¦£«á¡A§Ú´N¨S¦³¦Afollow¦¹ÃD¤F¡C
¦Ü©ó "Data" (¸ê®Æ®w) & "Search" (·j´M)³o2­ÓÀɤÀ¶}¥Î¡A·N«ä¬O±NData(¸ê®Æ®w)©î¸Ñ¦Ü¥t¥~1­ÓÀɮ׶ܡH
­Y¬O¦p¦¹ªº¸Ü¡A§Úªº¼gªk¥i¯à·|¶}±ÒSearch(·j´M)³o­ÓÀɪº®É­Ô¡A¶¶«KŪ¤JData(¸ê®Æ®w)¦Ü¼È¦s¤u§@ªí¡A§@¬°·j´M¨Ì¾Ú¡C

TOP

¦^´_ 73# Qin
À£ÁYÀɤº¦³¤U¦C¨â­ÓÀɮסG
1.¥Dµ{¦¡ÀɮסG¸ê®Æ·j´M.xlsm
2.¸ê®Æ®wÀɮסGSearchData.xlsx
¨â­ÓÀÉ®×¥²¶·©ñ¦b¦P­Ó¸ê®Æ§¨¤¤¡C
¸ê®Æ®wÀɮצWºÙ¥²¶·¬°SearchData.xlsx
¸ê®Æ·j´M.rar (38.76 KB)

TOP

        ÀR«ä¦Û¦b : ¨ü¤HÂI¤ô¤§®¦¡A¶··í´é¬u¥H³ø¡C
ªð¦^¦Cªí ¤W¤@¥DÃD