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

[µo°Ý] ½Ð°ÝVBA¥i¥H°µ¨ì¨âÀɮפñ¹ï«á¦A²£¥Í¥t¤@Àɮתº¤ñ¹ïµ²ªG¶Ü?

[µo°Ý] ½Ð°ÝVBA¥i¥H°µ¨ì¨âÀɮפñ¹ï«á¦A²£¥Í¥t¤@Àɮתº¤ñ¹ïµ²ªG¶Ü?

½Ð°Ý¤@¤U¤j®v­Ì~

¥Ø«e¤âÃ䦳¤@ªñ¤­¸Uµ§ªº¸ê®Æ®w--A¸ê®Æ §Ú­Ì»Ý­n±N¤âÃ䪺B¸ê®Æ»P¤§°µ¤ñ¹ï

½Ð°ÝVBA¦³¨S¦³¿ìªk°µ¥X¤@­ÓÀÉ®× ¶}±Ò«áª½±µ¸ü¤JEXCELªºAÀÉ®× »PBÀÉ®× ¤ñ¹ï«á²£¥ÍCÀɮשO?
CÀÉ®×¥HBÀɮ׮榡¬°¥D ¦V«á¦h¥[Äæ¦ì"K"
KÄæ¦ì¤º®e¬OAÀɮתºAÄæ¦ì

¤ñ¹ï¤º®e¬O

AÀɮתºEÄæ¦ì »P BÀɮתºJÄæ¦ì¤ñ¸û(¥i©¿²¤"-")

AÀɮתº®æ¦¡¦p¤U
A                 B           C                       D                         E
100-1       XXX      XXX                 XXX                   DOG
100-2       XXX      XXX                 XXX                   CAT
100-3       XXX      XXX                 XXX                   CAT-1
100-4       XXX      XXX                 XXX                   CAT-2

BÀɮתº®æ¦¡¦p¤U
A                 B           C                       D                         E                      F                       G             H                I           J
11            XX          XX                      XX                       XX                 XX                        XX         XX            CC       DOG
12            XX          XX                      XX                       XX                 XX                        XX         XX            CC       CAT
13            XX          XX                      XX                       XX                 XX                        XX         XX            CC       CAT1
14            XX          XX                      XX                       XX                 XX                        XX         XX            CC       CAT-1
15            XX          XX                      XX                       XX                 XX                        XX         XX            CC       CAT3

¤ñ¹ïµ²ªG§Æ±æ²£¥ÍCÀÉ®×
A                 B           C                       D                         E                      F                       G             H                I           J                K
11            XX          XX                      XX                       XX                 XX                        XX         XX            CC       DOG       100-1
12            XX          XX                      XX                       XX                 XX                        XX         XX            CC       CAT          100-2
13            XX          XX                      XX                       XX                 XX                        XX         XX            CC       CAT1        100-3
14            XX          XX                      XX                       XX                 XX                        XX         XX            CC       CAT-1       100-3
15            XX          XX                      XX                       XX                 XX                        XX         XX            CC       CAT3          No Data

§Ñ¤FªþÀÉ.....µy«áªþ¤WÀÉ®×~

TOP

¦^´_ 2# happycoccolin


    :$ ­Y¦³ªÅ½Ð¤j®a¬Ý¬Ý¬O§_¥i¥H¹F¦¨~~~ÁÂÁÂ!!!!!

ABC.zip (19.03 KB)

TOP

¥»©«³Ì«á¥Ñ vocolboy ©ó 2013-7-25 14:48 ½s¿è

¦^´_ 1# happycoccolin

§Ú¤]¬O­è¾Çªº¤£¯à¤U¸ü¥I¥óª½±µ±q§A¤W­zªº¼g

Sub ¤ñ¹ï()
Set d = CreateObject("Scripting.Dictionary")          '¦r¨å
With Workbooks("A.xls").Sheets(1)                       'with ³ø¦W¦WºÙ.¤u§@ªí¦WºÙ
  For Each a In .Range(.[E2], .[E65536].End(xlUp))
   d(a & "") = Array(a.Offset(, -4).Value)
  Next
End With
With Workbooks("B.xls").Sheets(1)                                       
  For Each a In .Range(.[J2], .[J65536].End(xlUp))
    a.Offset(, 1).Resize(, 1).Value = d(a & "")
  Next
End With
End Sub


³o­Óµ²ªG¨Ã¤£·|²£¥Í¨ìC·sªº¤W
¥L·|match¦bB¸Ì­±
§Ú·Q³o¥u¬O­Ó½Æ»s¶K¤W¤p°ÝÃD@@

TOP

¦^´_ 4# vocolboy


    «¢Åo~~ÁÂÁÂvocolboy ~

½Ð°Ý¤@¤U ¬O§_¥i¥H¦³¤@­ÓÀÉ®× ¶}±Ò¥H«á Åý§Ú«ö¶s¿ï¾Ü¸ü¤J¨â­ÓÀɮפñ¹ï©O?

¨Ò¦p

«ö¶s¤@  ½Ð¿ï¾ÜÀÉ®×
«ö¶s¤G  ½Ð¿ï¾ÜÀÉ®×
«ö¶s¤T  ¶}©l¤ñ¹ï

TOP

¦^´_ 4# vocolboy
  1. Option Explicit
  2. Sub Ex()
  3.     Dim d As Object, i As Variant, S  As Variant
  4.     Set d = CreateObject("scripting.dictionary")
  5.     i = 1
  6.     With Workbooks("A.xls").Sheets(1)
  7.         Do While .Cells(i, "e") <> ""
  8.             d(.Cells(i, "e").Value) = .Cells(i, "A").Value
  9.             i = i + 1
  10.         Loop
  11.     End With
  12.      i = 1
  13.     With Workbooks("B.xls").Sheets(1)
  14.         Do While .Cells(i, "J") <> ""
  15.            S = Join(Application.Transpose(Application.Transpose(.Range("A" & i & ":J" & i))), ",")
  16.            If d.Exists(.Cells(i, "J").Value) Then
  17.                 S = S & "," & d(.Cells(i, "J").Value)
  18.                 d(.Cells(i, "J").Value) = Split(S, ",")
  19.            Else
  20.                 d(.Cells(i, "J").Value) = Split(S & ",No Data", ",")
  21.                 S = d(.Cells(i, "J").Value)
  22.            
  23.            End If
  24.             i = i + 1
  25.         Loop
  26.     End With
  27.     For Each i In d.keys
  28.         If InStr(i, "-") Then If Mid(i, InStr(i, "-"), 2) <> "-1" Then d.Remove i        '¥i©¿²¤"-"ªº¨BÆJ
  29.     Next
  30.     With Workbooks("C.xls").Sheets(1)
  31.         .Cells.Clear
  32.         S = Application.Transpose(Application.Transpose(d.ITEMS))
  33.         .[A1].Resize(UBound(S, 1), UBound(S, 2)) = S
  34.     End With
  35. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 6# GBKEE


    ÁÂÁª©¤j~~~

©êºp¤p©f¤~²¨¾Ç²L...... ½Ð°Ý¤@¤U­n«ç»ò¨Ï¥Î¤~¯à°µ¤ñ¹ï©O?

§Ú±N»yªk½Æ»s¨ì¼Ò²Õ¤¤ ¦ý¬O¦p¦ó¤~¯à¥¿½T¨Ï¥Î?

¥Ø«e°»¿ù°±¦b
With Workbooks("A.xls").Sheets(1)

¹ïVBA«Ü¦³¿³½ì¦ý¬O¥¼¶}¬ ¥Ø«e¸}¨B«ÜºC©|°±¯d¦b¨ç¼Æ¶¥¬q ¤]½Ð¦U¦ì¤j®v­Ì¦h¦h¨£½Ì§Ú°Ýªº²Â°ÝÃD..

TOP

¦^´_ 7# happycoccolin
xls ¬O2003ª©¬¡­¶Ã¯ªº°ÆÀɦW
2007ª©¥H«áªº°ÆÀɦWxlsx¬O¨S¦³¥¨¶°ªº¬¡­¶Ã¯ ,°ÆÀɦWxlsm¬O¦³¥¨¶°ªº¬¡­¶Ã¯.
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 8# GBKEE


ÁÂÁªO¤j~

¥i¥H¦A½Ð°Ý¤@¤U¶Ü~¦p¦ó¤£«ü©wÀɦW~­n°µ¨ì¤H¤H³£¥i¥H§Q¥Î¦¹ÀɮרӰµ¤ñ¹ï

¨º¥i¥H«ç»ò³B²z©O?

§Ú²{¦b¬O¥HA.xlsx¬°¥D,sheet1§Ú¥[¤@­Ó«ö¶sª½±µRUN¦¹¤ñ¹ï

¦p¦ó¸ü¤J±ý¤ñ¹ïªºÀɮשO?

TOP

¦^´_ 9# happycoccolin
  1. Option Explicit
  2. Sub Ex()
  3.     Dim d As Object, i As Variant, S  As Variant, Wb As Workbook
  4.     Set d = CreateObject("scripting.dictionary")
  5.     With Application.FileDialog(msoFileDialogFilePicker) 'FileDialog :ªíÀÉ®×¹ï¸Ü¤è, msoFileDialogFilePicker(°Ñ¼Æ):¿ï¨úÀÉ®×
  6.         .AllowMultiSelect = False                        '¤¹³\¨Ï¥ÎªÌ±qÀÉ®×¹ï¸Ü¤è¶ô¿ï¨ú¦h­ÓÀÉ®×=False
  7.          If .Show = False Then MsgBox "¨S¦³¿ï¾ÜÀÉ®× !!!":   Exit Sub
  8.          Set Wb = Workbooks.Open(.SelectedItems(1))   '¶}±Ò«ü©wÀÉ®×
  9.     End With
  10.     i = 1
  11.     With Workbooks("A.xlsx").Sheets(1)   '
  12.         Do While .Cells(i, "e") <> ""
  13.             d(.Cells(i, "e").Value) = .Cells(i, "A").Value
  14.             i = i + 1
  15.         Loop
  16.     End With
  17.      i = 1
  18.     With Wb.Sheets(1)
  19.         Do While .Cells(i, "J") <> ""
  20.            S = Join(Application.Transpose(Application.Transpose(.Range("A" & i & ":J" & i))), ",")
  21.            If d.Exists(.Cells(i, "J").Value) Then
  22.                 S = S & "," & d(.Cells(i, "J").Value)
  23.                 d(.Cells(i, "J").Value) = Split(S, ",")
  24.            Else
  25.                 d(.Cells(i, "J").Value) = Split(S & ",No Data", ",")
  26.                 S = d(.Cells(i, "J").Value)
  27.            
  28.            End If
  29.             i = i + 1
  30.         Loop
  31.         .Parent.Close False               'Ãö³¬«ü©wÀɮפ£¦sÀÉ
  32.     End With
  33.    
  34.     For Each i In d.keys
  35.         If InStr(i, "-") Then If Mid(i, InStr(i, "-"), 2) <> "-1" Then d.Remove i        '¥i©¿²¤"-"ªº¨BÆJ
  36.     Next
  37.     With Workbooks("C.xlsx").Sheets(1)
  38.         .Cells.Clear
  39.         S = Application.Transpose(Application.Transpose(d.ITEMS))
  40.         .[A1].Resize(UBound(S, 1), UBound(S, 2)) = S
  41.     End With
  42. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

        ÀR«ä¦Û¦b : ¤@­Ó¤Hªº§Ö¼Ö¡D¤£¬O¦]¬°¥L¾Ö¦³±o¦h¡A¦Ó¬O¦]¬°¥L­p¸û±o¤Ö¡C
ªð¦^¦Cªí ¤W¤@¥DÃD