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

[µo°Ý] ·Q½Ð±Ð¦p¦ó¥ÎVBA§PÂ_ÃöÁä¦r,¨Ã½Æ»s¤@¦C

[µo°Ý] ·Q½Ð±Ð¦p¦ó¥ÎVBA§PÂ_ÃöÁä¦r,¨Ã½Æ»s¤@¦C

¥»©«³Ì«á¥Ñ hasrhgni ©ó 2014-12-19 16:54 ½s¿è

¦U¦ì°ª¤â¦n,§Ú·Q½Ð±Ð¤@¤U
§Ú¦³¤@¥÷ÃöÁä¦r²M³æ¨Ã¤w¤ÀÃþ¦n
²{¦b¦³¤@¥÷½Òµ{¦WºÙ­n¨Ó¬d¸ß¥XÃöÁä¦r
¥Ø«e¥i¬d¥XÃöÁä¦r«áÅã¥Ü¦b¥kÄæ¨Ã¥Î","³r¸¹¤À¶}¨Ã¸É¤W²Ä¤G­ÓÃöÁä¦r
¦ý§Ú²{¦b·Q±N¬d¥XªºÃöÁä¦r²Ä¤@¦¸µ²ªGÅã¥Ü¦b¥kÄæ¨Ã±N²Ä¤G­ÓÃöÁä¦r¯à°÷©¹¤U½Æ»s¦P¤@¦C«á¨Ã¦b¥kÄæÅã¥Ü²Ä¤G­ÓÃöÁä¦r(½Æ»s«áªº²Ä¤@­ÓÃöÁä¦r»\¹L¥h)
¦pªG¬d¥X¦³¤T¦¸µ²ªG´N©¹¤U½Æ»s¤T¦C
¤£ª¾§Ú¸Ó¦p¦ó¼g,§Ú¥d«Ü¤[¤F!!!
Sub Macro1()
Dim strSA As String      '©w¸q¦r¦êÅܼơA¥Î¨Ó©Ó±µ½d³ò¦WºÙ
Dim strC As String
Dim strA As String
Dim strca As String
Dim Dilimiter As String

strSA = "class_name" '«Ý·j´M¦r¦êªº½d³ò¦WºÙ(¾ï¦â½d³ò)
strC = "keyword"        '±ý¦b(¬õ¦â½d³ò)¤¤·j´MªºÃöÁä¦r(ÂŦâ½d³ò)
strA = "Answer"       '¥Î¨Ó©Ó±µµª®×ªº½d³ò¦WºÙ(¬õ¦â½d³ò)
strca = "catalog"
Dilimiter = ","       '¥Î¨Ó°µ¬°°Ï¹j²Å¸¹ªºÅܼơA¤è«K«áÄò¤å®Ñ³B²z¥Î


For i = 1 To Range(strSA).Rows.Count 'Range("½d³ò¦WºÙ")´N¬O¤@­Ó¤u§@ªí¤¤ªº"½d³ò¦WºÙ"©Ò¥Nªíªº½d³ò
'²Ä¤@­Ó°j°é¥Nªí±q²Ä¤@µ§¦r¦ê·j´M¨ì¨ì³Ì«á¤@µ§¦r¦ê

  Range(strA).Cells(i, 1).Value = ""   '³]©w©Ó±µµª®×¥ÎªºÀx¦s®æ¬°ªÅ­È¡AÁקK­«½Æ«ö«ö¶s®É¸ê®Æ²Ö¥[

    For j = 1 To Range(strC).Rows.Count '.Rows.Count ¬°Á`¸ê®Æ¦æ¼Æ
    '²Ä¤G­Ó°j°é¥Nªí±q²Ä¤@­ÓÃöÁä¦r¶}©l´M§ä ¨ì³Ì«á¤@­ÓÃöÁä¦r

        If InStr(Range(strSA).Cells(i, 1), Range(strC).Cells(j, 1).Value) <> 0 Then
        
            ' InStr(S,F)¬°¶Ç¦^F¦r¦ê¦bS¦r¦ê¤¤ªº²Ä´X­Ó¦r¡A­YµL«h¶Ç¦^ 0
            '.Cells(row,column)¬°Àx¦s®æ¤¤ªº¬Û¹ï¦ì¸m .Value¬°Àx¦s®æ¤¤ªº­È
            
            If Range(strA).Cells(i, 1).Value = "" Then  '­Y©Ó±µµª®×¥ÎªºÀx¦s®æ¬°ªÅ¡A«hª½±µ©ñ¤JÃöÁä¦r
                 
                 Range(strA).Cells(i, 1).Value = Range(strC).Cells(j, 1).Offset(0, -1).Value
                 
            Else    '­Y¤£¬°ªÅ­È«h«O¯d­ì¨Ó¸ê®Æ ´¡¤J¤À¹j²Å¸¹ ¦A´¡¤J·s¸ê®Æ
                        
                        Range(strA).Cells(i, 1).Value = Range(strA).Cells(i, 1).Value
                        ActiveCell.Rows("1:1").EntireRow.Select
                        Selection.Copy
                        Selection.Insert Shift:=xlDown
                        Range(strA).Cells(i, 1).Select
                        ActiveCell.Value = Range(strC).Cells(j, 1).Offset(0, -1).Value
                        Range(strA).Cells(i, 1).Select
                        

            End If
        End If
    Next
Next

End Sub
201407-12_list2.zip (132.41 KB)
§V¤O¾Ç²ß

¯u¬O¤Ó·PÁÂ luhpro ¤j®v¤F!
§V¤O¾Ç²ß

TOP

luhpro ¤j®v±z¦n!
¤£ª¾§Ú¬O§_¥i¥H¥[¤J­Ó§PÂ_,¦pªG¤ÀÃþ¤j©ó2µ§®É¦h½Æ»s¤@µ§¬°"ºî¦XÃþ"
hasrhgni µoªí©ó 2014-12-22 17:44

¨º´N¦A¥[­ÓÅܼÆÅo:
  1.   Dim strSA$, strC$, strA$, strca$, Dilimiter$  '©w¸q¦r¦êÅܼơA¥Î¨Ó©Ó±µ½d³ò¦WºÙ
  2.   Dim lIns&, iCnt%  ' <=====¥[³o¦æ, ­pºâ¬O§_¶W¹L 2 ­Ó

  3. strSA = "class_name" '«Ý·j´M¦r¦êªº½d³ò¦WºÙ(¾ï¦â½d³ò)
  4. strC = "keyword"        '±ý¦b(¬õ¦â½d³ò)¤¤·j´MªºÃöÁä¦r(ÂŦâ½d³ò)
  5. strA = "Answer"       '¥Î¨Ó©Ó±µµª®×ªº½d³ò¦WºÙ(¬õ¦â½d³ò)
  6. strca = "catalog"
  7. Dilimiter = ","       '¥Î¨Ó°µ¬°°Ï¹j²Å¸¹ªºÅܼơA¤è«K«áÄò¤å®Ñ³B²z¥Î

  8. lIns = 0
  9. For i = 1 To Range(strSA).Rows.Count 'Range("½d³ò¦WºÙ")´N¬O¤@­Ó¤u§@ªí¤¤ªº"½d³ò¦WºÙ"©Ò¥Nªíªº½d³ò
  10.   Range(strA).Cells(i + lIns, 1) = "" '³]©w©Ó±µµª®×¥ÎªºÀx¦s®æ¬°ªÅ­È¡AÁקK­«½Æ«ö«ö¶s®É¸ê®Æ²Ö¥[
  11.   iCnt = 0 '<=====¥[³o¦æ, Âk¹s
  12.     For j = 1 To Range(strC).Rows.Count '.Rows.Count ¬°Á`¸ê®Æ¦æ¼Æ
  13.         If InStr(Range(strSA).Cells(i + lIns, 1), Range(strC).Cells(j, 1).Value) <> 0 Then
  14.           With Range(strA).Cells(i + lIns, 1)
  15.             If .Value = "" Then  '­Y©Ó±µµª®×¥ÎªºÀx¦s®æ¬°ªÅ¡A«hª½±µ©ñ¤JÃöÁä¦r
  16.               .Value = Range(strC).Cells(j, 1).Offset(0, -1)
  17.             Else    '­Y¤£¬°ªÅ­È«h«O¯d­ì¨Ó¸ê®Æ ´¡¤J¤À¹j²Å¸¹ ¦A´¡¤J·s¸ê®Æ
  18.               With .EntireRow
  19.                 .Copy
  20.                 .Insert Shift:=xlDown
  21.               End With
  22.               .Value = Range(strC).Cells(j, 1).Offset(0, -1).Value
  23.               lIns = lIns + 1
  24.               iCnt = iCnt + 1 '<=====¥[³o¦æ, ­p¼Æ­È¥[ 1
  25.             End If
  26.           End With
  27.         End If
  28.     Next
  29.   '<=====¥[³o¬q-ÀY
  30.     If iCnt > 2 Then ' ¶W¹L 2 ­Ó¥[¤@¦æ
  31.       With Range(strA).Cells(i + lIns, 1)
  32.         With .EntireRow
  33.           .Copy
  34.           .Insert Shift:=xlDown
  35.         End With
  36.         .Value = "ºî¦XÃþ"
  37.         lIns = lIns + 1
  38.       End With
  39.     End If
  40.   '<=====¥[³o¬q-§À
  41. Next
½Æ»s¥N½X

TOP

luhpro ¤j®v±z¦n!
¤£ª¾§Ú¬O§_¥i¥H¥[¤J­Ó§PÂ_,¦pªG¤ÀÃþ¤j©ó2µ§®É¦h½Æ»s¤@µ§¬°"ºî¦XÃþ"
§V¤O¾Ç²ß

TOP

³o½T¹ê´N¬O§Ú­nªº,§Ú­n¸÷«ô±z³o¦ì¤j®v¤F!
¤Ó·P®¦¤F,ÁÂÁÂ!!!
§V¤O¾Ç²ß

TOP

¥»©«³Ì«á¥Ñ luhpro ©ó 2014-12-22 00:40 ½s¿è

¦^´_ 4# hasrhgni
§Aªºµ{¦¡¨S¦Ò¼{¨ì¨C·í´¡¤J¤@¦C®É,
¹ïÀ³ªº¼ÐªºÀx¦s®æ·|¦³¦ì²¾,
©Ò¥H­n¥Î¤@­ÓÅܼƨӦs©ñ¦¹¦ì²¾­È¨Ã®M¥Î¨ìÀ³¸ÓÀH¤§Åܧ󪺼Ʀr¤W:
  1.   Dim strSA$, strC$, strA$, strca$, Dilimiter$  '©w¸q¦r¦êÅܼơA¥Î¨Ó©Ó±µ½d³ò¦WºÙ
  2.   Dim lIns& ' ´¡¤J¦C®Éªº¦ì²¾­È

  3. strSA = "class_name" '«Ý·j´M¦r¦êªº½d³ò¦WºÙ(¾ï¦â½d³ò)
  4. strC = "keyword"        '±ý¦b(¬õ¦â½d³ò)¤¤·j´MªºÃöÁä¦r(ÂŦâ½d³ò)
  5. strA = "Answer"       '¥Î¨Ó©Ó±µµª®×ªº½d³ò¦WºÙ(¬õ¦â½d³ò)
  6. strca = "catalog"
  7. Dilimiter = ","       '¥Î¨Ó°µ¬°°Ï¹j²Å¸¹ªºÅܼơA¤è«K«áÄò¤å®Ñ³B²z¥Î

  8. lIns = 0
  9. For i = 1 To Range(strSA).Rows.Count 'Range("½d³ò¦WºÙ")´N¬O¤@­Ó¤u§@ªí¤¤ªº"½d³ò¦WºÙ"©Ò¥Nªíªº½d³ò
  10.   Range(strA).Cells(i + lIns, 1) = "" '³]©w©Ó±µµª®×¥ÎªºÀx¦s®æ¬°ªÅ­È¡AÁקK­«½Æ«ö«ö¶s®É¸ê®Æ²Ö¥[
  11.     For j = 1 To Range(strC).Rows.Count '.Rows.Count ¬°Á`¸ê®Æ¦æ¼Æ
  12.         If InStr(Range(strSA).Cells(i + lIns, 1), Range(strC).Cells(j, 1).Value) <> 0 Then
  13.           With Range(strA).Cells(i + lIns, 1)
  14.             If .Value = "" Then  '­Y©Ó±µµª®×¥ÎªºÀx¦s®æ¬°ªÅ¡A«hª½±µ©ñ¤JÃöÁä¦r
  15.                  .Value = Range(strC).Cells(j, 1).Offset(0, -1)
  16.             Else    '­Y¤£¬°ªÅ­È«h«O¯d­ì¨Ó¸ê®Æ ´¡¤J¤À¹j²Å¸¹ ¦A´¡¤J·s¸ê®Æ
  17.                         With .EntireRow
  18.                           .Copy
  19.                           .Insert Shift:=xlDown
  20.                         End With
  21.                         .Value = Range(strC).Cells(j, 1).Offset(0, -1).Value
  22.                         lIns = lIns + 1
  23.             End If
  24.           End With
  25.         End If
  26.     Next
  27. Next
½Æ»s¥N½X

TOP

«D±`·PÁ luhpro  ªºÀ°¦£,¨º½T¹ê¬O§Ú­nªº,¦ý§Ú¤£ª¾¬O§_ÁÙ¦³¤è¦¡,¯à±N²ÄCÄæ©M¤§«áªºÄæ¥X²{«áªºÃöÁä¦r¯à:
1.¦Û°Ê½Æ¨îAÄæ«á¨Ã´¡¤J¤@¦C
2.¨Ã±NCÄ檺ÃöÁä¦r¸É¦bBÄæ
³o¼Ë´N¥u¦³2Ä檺¸ê®Æ,AÄæ·|¦]BÄæ©Ò¥X²{ªºÃöÁä¦r¦Û°Ê·s¼WAÄ檺½Òµ{¦WºÙ

½Òµ{¦WºÙ       
¤ú©P¯f¬ìÂø»xº[¯f¨Ò°Q½×·|                 ºî¦XÃþ
¤ú©P¯f¬ìÂø»xº[¯f¨Ò°Q½×·|                ¤ú©P¯fÃþ
¾¦ÃEÁB¥¿¬ìÂø»xº[¯f¨Ò°Q½×·|                ¤ú¾¦ÁB¥¿Ãþ
¾¦ÃEÁB¥¿¬ìÂø»xº[¯f¨Ò°Q½×·|                ºî¦XÃþ
¤úÅè¯f¬ìÂø»x°Q½×·|º[¯f¨Ò°Q½×·|       ºî¦XÃþ
¤fµÄÃE­±¥~¬ìÂø»x°Q½×·|                ¤fµÄ¥~¬ì¾ÇÃþ
¤úÅé´_§Î¬ìÂø»x°Q½×·|                ¤fµÄ¸Éºó¾Ç
§V¤O¾Ç²ß

TOP

«D±`·PÁ luhpro  ªºÀ°¦£,¨º½T¹ê¬O§Ú­nªº,¦ý§Ú¤£ª¾¬O§_ÁÙ¦³¤è¦¡,¯à±N²ÄCÄæ©M¤§«áªºÄæ¥X²{«áªºÃöÁä¦r¯à:
1.¦Û°Ê½Æ¨îAÄæ«á¨Ã´¡¤J¤@¦C
2.¨Ã±NCÄ檺ÃöÁä¦r¸É¦bBÄæ
³o¼Ë´N¥u¦³2Ä檺¸ê®Æ,AÄæ·|¦]BÄæ©Ò¥X²{ªºÃöÁä¦r¦Û°Ê·s¼WAÄ檺½Òµ{¦WºÙ
§V¤O¾Ç²ß

TOP

¦U¦ì°ª¤â¦n,§Ú·Q½Ð±Ð¤@¤U
§Ú¦³¤@¥÷ÃöÁä¦r²M³æ¨Ã¤w¤ÀÃþ¦n
²{¦b¦³¤@¥÷½Òµ{¦WºÙ­n¨Ó¬d¸ß¥XÃöÁä¦r
¥Ø«e¥i¬d¥X ...
hasrhgni µoªí©ó 2014-12-19 16:51

§Ú²q§Aªºµ²ªG¬O­n¹³ Sheet4 ¤¤©ÒÅã¥Üªº±¡§Î,
µ{¦¡­×§ï¦p¤U:
  1. Dim iCol%
  2.   Dim strSA$, strC$, strA$, strca$, Dilimiter$  '©w¸q¦r¦êÅܼơA¥Î¨Ó©Ó±µ½d³ò¦WºÙ

  3.   strSA = "class_name" '«Ý·j´M¦r¦êªº½d³ò¦WºÙ(¾ï¦â½d³ò)
  4.   strC = "keyword"        '±ý¦b(¬õ¦â½d³ò)¤¤·j´MªºÃöÁä¦r(ÂŦâ½d³ò)
  5.   strA = "Answer"       '¥Î¨Ó©Ó±µµª®×ªº½d³ò¦WºÙ(¬õ¦â½d³ò)
  6.   strca = "catalog"
  7.   Dilimiter = ","       '¥Î¨Ó°µ¬°°Ï¹j²Å¸¹ªºÅܼơA¤è«K«áÄò¤å®Ñ³B²z¥Î

  8. For i = 1 To Range(strSA).Rows.Count 'Range("½d³ò¦WºÙ")´N¬O¤@­Ó¤u§@ªí¤¤ªº"½d³ò¦WºÙ"©Ò¥Nªíªº½d³ò
  9.     For j = 1 To Range(strC).Rows.Count '.Rows.Count ¬°Á`¸ê®Æ¦æ¼Æ
  10.         If InStr(Range(strSA).Cells(i + lIns, 1), Range(strC).Cells(j, 1).Value) <> 0 Then
  11.             With Range(strA).Cells(i, 1)
  12.               iCol = .Offset(, Columns.Count - 2).End(xlToLeft).Column - 1
  13.               .Offset(, iCol) = Range(strC).Cells(j, 1).Offset(0, -1)
  14.             End With
  15.         End If
  16.     Next
  17. Next
½Æ»s¥N½X
¦pªG§A­nªº¬O B Äæ©ñ¥þ³¡Áä­È,
¦ý¥H , °µ°Ï¹jªº¸Ü´N§ï¦¨©³¤U³o¼Ë:
  1.   Dim strSA$, strC$, strA$, strca$, Dilimiter$  '©w¸q¦r¦êÅܼơA¥Î¨Ó©Ó±µ½d³ò¦WºÙ

  2.   strSA = "class_name" '«Ý·j´M¦r¦êªº½d³ò¦WºÙ(¾ï¦â½d³ò)
  3.   strC = "keyword"        '±ý¦b(¬õ¦â½d³ò)¤¤·j´MªºÃöÁä¦r(ÂŦâ½d³ò)
  4.   strA = "Answer"       '¥Î¨Ó©Ó±µµª®×ªº½d³ò¦WºÙ(¬õ¦â½d³ò)
  5.   strca = "catalog"
  6.   Dilimiter = ","       '¥Î¨Ó°µ¬°°Ï¹j²Å¸¹ªºÅܼơA¤è«K«áÄò¤å®Ñ³B²z¥Î
  7.   
  8. For i = 1 To Range(strSA).Rows.Count 'Range("½d³ò¦WºÙ")´N¬O¤@­Ó¤u§@ªí¤¤ªº"½d³ò¦WºÙ"©Ò¥Nªíªº½d³ò
  9.     Range(strA).Cells(i, 1) = ""
  10.     For j = 1 To Range(strC).Rows.Count '.Rows.Count ¬°Á`¸ê®Æ¦æ¼Æ
  11.         If InStr(Range(strSA).Cells(i + lIns, 1), Range(strC).Cells(j, 1).Value) <> 0 Then
  12.             With Range(strA).Cells(i, 1)
  13.               If .Value <> "" Then
  14.                 .Value = .Value & Dilimiter & Range(strC).Cells(j, 1).Offset(0, -1)
  15.               Else
  16.                 .Value = Range(strC).Cells(j, 1).Offset(0, -1)
  17.               End If
  18.             End With
  19.         End If
  20.     Next
  21. Next
½Æ»s¥N½X

TOP

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