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

¸ê®Æ¤ñ¹ï

¥»©«³Ì«á¥Ñ hugh0620 ©ó 2012-5-16 10:12 ½s¿è

¼ÒÀÀªºÀô¹Ò¦b¦P¤@­ÓEXCELÀɤ¤
SHEET1
A             B
ABC      123
DEC      234
DDF     123

SHEET2
A            B
BBB      234
DEC     222
DDF    234
  1. Sub EX()
  2. A = Sheet1.Range("A65536").End(xlUp).Row
  3. For I = 1 To A
  4.     Set F = Sheet2.Columns("A:A").Find(Sheet1.Range("A" & I))  '¥ý¤ñ¹ïAÄæ¦ì¬O§_
  5.     If Not F Is Nothing Then                                   '§PÂ_¦¡:F§ä¤£¨ìªº¸Ü
  6.        F = Sheet2.Columns("A:A").Find(Sheet1.Range("A" & I)).Row
  7.        Set F1 = Sheet2.Range("A" & F & ":A" & F).Find(Sheet1.Range("B" & I))
  8.        If F1 Is Nothing Then                                   '¦A§PÂ_B­È¤£¦s¦b´N¦b¤U¤@Äæ·s¼W
  9.           F2 = Sheet2.Range("IV" & F).End(xlToLeft).Offset(0, 1).Column
  10.           Sheet2.Cells(F, F2) = Sheet1.Range("B" & I)
  11.        End If
  12.     Else                                                      '·íSheet2§ä¤£¨ìsheet1 AÄæ¦ì¸ê®Æ®É¡A´N¦b³Ì¤U­±·s¼W
  13.        A2 = Sheet2.Range("A65536").End(xlUp).Row
  14.        Sheet2.Range("A" & A2) = Sheet1.Range("A" & I)
  15.        Sheet2.Range("B" & A2) = Sheet1.Range("B" & I)
  16.     End If
  17. Next
  18. End Sub
½Æ»s¥N½X
¾Ç²ß¤~¯à´£¤É¦Û¤v

TOP

¦^´_ 7# waterfox

    «Øij±z~ ¸ê®Æªº¬[ºc¦A½Õ¾ã¤@¤U·|¤ñ¸û¦n­ò~
                     ¸ê®Æ®wªºÆ[©À~
                     ¨C­Ó¤ë¥÷ªºÄæ¦ì³£¤@¼Ë~ ©ñ¦b¦P¤@­ÓSHEET~ ¦h¥[¤@­ÓÄæ¦ì[¤ë¥÷]¨Ó°Ï§O~
                     ¸ò§A°Ï¤À¦¨«Ü¦h¬¡­¶¨ÓÀx©ñ¸ê®Æ~ µ²ªG¬O¤@¼Ëªº~
                    ¦ý¦b³B²z¤W¬Û¹ï¤ñ¸û¦n³B²z¤@¨Ç~
¾Ç²ß¤~¯à´£¤É¦Û¤v

TOP

¦^´_ 11# waterfox


    Sorry~ ³Ìªñ¤u§@¤ñ¸û¦£~ ©Ò¥H~ ¤ñ¸û¨S¦³®É¶¡¤W¨Ó~
    ±zªº°ÝÃD¥D­n¬O±N[Stock on hand]©ßÂà¨ì[Summary]¤¤~
    ¥i¸Õ¸ÕªþÀÉ~  ¦ý¬OÁÙ¦³¤@­Ó²Ä¤è¨S¦³¼g­ò~
    ´N¬O§A¦b[Stock on hand] ¦³¤@­Ó¶µ¥Ø99 ¦b [Summary] ¬O¨S¦³ªº
    ¦]¬°¤£ª¾¹D§A¾ã­Ó¾Þ§@ªºÅÞ¿è~ ©Ò¥H~ ¥ý§¹¦¨°w¹ï±N¸ê®Æ©ßÂà~
    ¦A¨Ó¤@¨B¤@¨Bªº¨Ó½Õ¾ã~ §A©Ò»Ý­nªº~
      record-TEST.rar (81.28 KB)
¾Ç²ß¤~¯à´£¤É¦Û¤v

TOP

¦^´_ 13# waterfox

  ³o¬O§Ú¤W¸üÀɮפ¤ªºµ{¦¡½X~
  1. Private Sub CommandButton1_Click()   '¸ê®Æ©ßÂà
  2. '========  A =>¨C¤@¦C¶]ªº¦¸¼Æ  ====================
  3. A = Sheet4.Range("IV2").End(xlToLeft).Column
  4. A = (A - 4) / 3
  5. If A - Int(A) > 0 Then
  6.    MsgBox "¸ê®ÆÄæ¦ì¦³»~"
  7.    Exit Sub
  8. End If
  9. A = A - 1
  10. '========  B => Á`¦@­n¶]ªºµ§¼Æ  ====================
  11. B = Sheet4.Range("A65536").End(xlUp).Row

  12. For I = 3 To B
  13.     Set C = Sheet2.Columns("B:B").Find(Sheet4.Range("B" & I))
  14.    
  15.     If Not C Is Nothing Then
  16.     C = Sheet2.Columns("B:B").Find(Sheet4.Range("B" & I)).Row

  17.     For J = 0 To A    '(EX. 0->11 =12¦¸)
  18.         D = Sheet4.Cells(I, 7 + J * 3)
  19.         If D = "" Then
  20.         Else
  21.         Do Until Sheet2.Range("F" & C + K) = ""
  22.            If Sheet2.Range("F" & C + K) = D Then
  23.               If Sheet4.Cells(I, 5 + J * 3) > 0 Then
  24.               Sheet2.Cells(C + K, 7 + J) = Sheet4.Cells(I, 5 + J * 3)
  25.               End If
  26.               If Sheet4.Cells(I, 6 + J * 3) > 0 Then
  27.               Sheet2.Cells(C + K, 21 + J) = Sheet4.Cells(I, 6 + J * 3)
  28.               End If
  29.               P = 1
  30.               Exit Do
  31.            End If
  32.            K = K + 1
  33.         Loop
  34.         If P = 0 Then
  35.            Sheet2.Rows(C + K).Insert Shift:=xlDown
  36.            Sheet2.Range("F" & C + K) = Sheet4.Cells(I, 7 + J * 3)
  37.            If Sheet4.Cells(I, 5 + J * 3) > 0 Then
  38.             Sheet2.Cells(C + K, 7 + J) = Sheet4.Cells(I, 5 + J * 3)
  39.            End If
  40.            If Sheet4.Cells(I, 6 + J * 3) > 0 Then
  41.             Sheet2.Cells(C + K, 21 + J) = Sheet4.Cells(I, 6 + J * 3)
  42.            End If
  43.         End If
  44.         End If
  45.     K = 0
  46.     P = 0
  47.     Next
  48.     End If
  49. Next

  50. End Sub
½Æ»s¥N½X
¾Ç²ß¤~¯à´£¤É¦Û¤v

TOP

        ÀR«ä¦Û¦b : ¦Y­W¤F­W¡B­WºÉ¤Ü¨Ó¡A¨ÉºÖ¤FºÖ¡BºÖºÉ´d¨Ó¡C
ªð¦^¦Cªí ¤W¤@¥DÃD