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

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

¦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

¥»©«³Ì«á¥Ñ 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

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

        ÀR«ä¦Û¦b : ¤H¥Í¨S¦³©Ò¦³Åv¡A¥u¦³¥Í©Rªº¨Ï¥ÎÅv¡C
ªð¦^¦Cªí ¤W¤@¥DÃD