Board logo

標題: 想問我的EXCEL比對資料要怎麼寫 [打印本頁]

作者: tmde987    時間: 2013-1-6 21:08     標題: 想問我的EXCEL比對資料要怎麼寫

有人可以教我檔案中的比對資料整麼寫嗎?

求救大師 看看能不能將我的需求寫出來,工作要用的 但剛接觸EXCEL VBA不太會
作者: stillfish00    時間: 2013-1-7 09:40

回復 1# tmde987
兩週的資料會變動的只有數量欄位嗎?
作者: tmde987    時間: 2013-1-7 11:43

沒錯 !
主要是要統計公司某些物品的變動量
求救各位高手幫忙一下 ,謝謝!!
作者: freeffly    時間: 2013-1-7 16:41

回復 3# tmde987


    這各是要做安全庫存嗎?
    感覺又跟安全庫存不一樣
   因為你是針對消耗的部分去購買
   而不是補足安全庫存量

   感覺你的問題應該是很簡單
   可是你要將步驟切很細
   很難明白你要的
   
   有點把簡單問題複雜化
   如果是計算安全庫存可能就有考量上的差異
   但是依你的方式應該是有更簡單的處理方法
作者: tmde987    時間: 2013-1-7 21:20

或許吧 ! 但每種不同的方法是老闆給我的建議  
所以我把它列出來  每個問分開來 畢竟新手不會
短時間要摸有點難 ~~
作者: Hsieh    時間: 2013-1-8 00:08

本帖最後由 Hsieh 於 2013-1-8 00:09 編輯

回復 5# tmde987
  1. Sub 按鈕_1()
  2. Dim Ar()
  3. Set d = CreateObject("Scripting.Dictionary")
  4. With Sheet1
  5.   For Each a In .Range(.[A2], .[A2].End(xlDown))
  6.      d(a.Value) = a.Offset(, 4).Value
  7.   Next
  8.   For Each a In .Range(.[J2], .[J2].End(xlDown))
  9.      i = a.Offset(, 4).Value - d(a.Value)
  10.      If i <> 0 Then
  11.      ReDim Preserve Ar(s)
  12.      Ar(s) = Array(a.Value, a.Offset(, 1).Value, a.Offset(, 2).Value, a.Offset(, 3).Value, i, a.Offset(, 5).Value)
  13.      s = s + 1
  14.      End If
  15.   Next
  16. End With
  17. Sheet2.UsedRange.Offset(1) = "" '第2列以下刪除
  18. Sheet2.[A2].Resize(s, 6) = Application.Transpose(Application.Transpose(Ar)) 'A2以下填入
  19. End Sub
複製代碼
  1. Sub 按鈕_2()
  2. Dim Ar()
  3. Set d = CreateObject("Scripting.Dictionary")
  4. With Sheet1
  5.   For Each a In .Range(.[A2], .[A2].End(xlDown))
  6.      d(a.Value) = a.Offset(, 4).Value
  7.   Next
  8.   For Each a In .Range(.[J2], .[J2].End(xlDown))
  9.      i = a.Offset(, 4).Value - d(a.Value)
  10.      If i <> 0 Then
  11.      ReDim Preserve Ar(s)
  12.      Ar(s) = Array(a.Value, a.Offset(, 1).Value, a.Offset(, 3).Value, i)
  13.      s = s + 1
  14.      End If
  15.   Next
  16. End With
  17. Sheet3.UsedRange.Offset(1) = "" '第2列以下刪除
  18. Sheet3.[A2].Resize(s, 4) = Application.Transpose(Application.Transpose(Ar)) 'A2以下填入
  19. End Sub
複製代碼
  1. Sub 按鈕_3()
  2. Dim Ar()
  3. Set d = CreateObject("Scripting.Dictionary")
  4. With Sheet1
  5.   For Each a In .Range(.[A2], .[A2].End(xlDown))
  6.      d(a.Value) = a.Offset(, 4).Value
  7.   Next
  8.   For Each a In .Range(.[J2], .[J2].End(xlDown))
  9.      i = a.Offset(, 4).Value - d(a.Value)
  10.      If i <> 0 Then
  11.      ReDim Preserve Ar(s)
  12.      Ar(s) = Array(a.Value, a.Offset(, 1).Value, a.Offset(, 3).Value, i)
  13.      s = s + 1
  14.      End If
  15.   Next
  16. End With
  17. Sheet4.UsedRange.Offset(2) = "" '第3列以下刪除
  18. Sheet4.[A3].Resize(s, 4) = Application.Transpose(Application.Transpose(Ar)) 'A3以下填入
  19. End Sub
複製代碼
  1. Sub 按鈕_4()
  2. Dim Ar()
  3. Set d = CreateObject("Scripting.Dictionary")
  4. With Sheet1
  5.   For Each a In .Range(.[A2], .[A2].End(xlDown))
  6.      d(a.Value) = a.Offset(, 4).Value
  7.   Next
  8.   For Each a In .Range(.[J2], .[J2].End(xlDown))
  9.      i = a.Offset(, 4).Value - d(a.Value)
  10.      If i <> 0 Then
  11.      ReDim Preserve Ar(s)
  12.      Ar(s) = Array(a.Value, a.Offset(, 1).Value, a.Offset(, 2).Value, a.Offset(, 3).Value, i, "=RC[-2]*RC[-1]")
  13.      s = s + 1
  14.      End If
  15.   Next
  16. End With
  17. Sheet5.UsedRange.Offset(2) = "" '第3列以下刪除
  18. Sheet5.[A3].Resize(s, 6) = Application.Transpose(Application.Transpose(Ar)) 'A3以下填入
  19. End Sub
複製代碼
  1. Sub 按鈕_5()
  2. Dim Ar()
  3. With Sheet6
  4.   For Each a In .Range(.[A2], .[A2].End(xlDown))
  5.      i = Application.Max(0, a.Offset(, 5).Value - a.Offset(, 4).Value) '計算購買數量
  6.      ReDim Preserve Ar(s)
  7.      Ar(s) = Array(a.Value, a.Offset(, 1).Value, a.Offset(, 2).Value, a.Offset(, 3).Value, i)
  8.      s = s + 1
  9.   Next
  10. End With
  11. Sheet6.UsedRange.Offset(2, 8) = "" 'I3以下刪除
  12. Sheet6.[I3].Resize(s, 5) = Application.Transpose(Application.Transpose(Ar)) 'I3以下填入
  13. End Sub
複製代碼

作者: tmde987    時間: 2013-1-8 01:22

感謝Hsieh 大大的解答

按鈕5 這段 執行會錯誤

For Each a In .Range(.[A2], .[A2].End(xlDown))

我還看不出來錯誤的指令在哪  研究指令中 蠻深澳的!!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)