返回列表 上一主題 發帖

資料比對

謝謝你的幫忙, 我今天終於有時間嘗試... 但有少少問題, 已附上給大大查看, 要每個月都有一個Worksheet stock list, 因為不才, 故此我會先將所有data放在sheets("Stock on hand"), 然後再將資料匯入sheets("Summary"), 但用了你的方法後,  如Column A 及Column B相同的話.. 第二行的資料便放進了隔離的月份, 但可否如column A, column B, column C and column D 要4個資料相同便在該月份column插入資料, 否則在下一行insert row, 然後插入與column A 及B 相同的資料,

其實最終的資料會放在summary sheets, 便可知道全年stock in and out movement, 謝謝你的幫忙
record.zip (105.42 KB)

TOP

回復 11# waterfox


    Sorry~ 最近工作比較忙~ 所以~ 比較沒有時間上來~
    您的問題主要是將[Stock on hand]拋轉到[Summary]中~
    可試試附檔~  但是還有一個第方沒有寫唷~
    就是你在[Stock on hand] 有一個項目99 在 [Summary] 是沒有的
    因為不知道你整個操作的邏輯~ 所以~ 先完成針對將資料拋轉~
    再來一步一步的來調整~ 你所需要的~
      record-TEST.rar (81.28 KB)
學習才能提升自己

TOP

Hugh0620, 真是很感激你的幫忙, 感激感激, 我以為冇人理我, 我已經自己用一個很大的程序去完成, 不過我會試用你幫忙編寫的附檔,由於我權限問題, 現在仍未有資格開啟壓縮檔...遲些我會再嘗試, 再次感激你啊...

TOP

回復 13# waterfox

  這是我上載檔案中的程式碼~
  1. Private Sub CommandButton1_Click()   '資料拋轉
  2. '========  A =>每一列跑的次數  ====================
  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 => 總共要跑的筆數  ====================
  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
複製代碼
學習才能提升自己

TOP

        靜思自在 : 有願放在心裡,沒有身體力行,正如耕田不播種,皆是空過因緣。
返回列表 上一主題