標題:
如何分別計算出12', 13' , 14', 15'年的下單總數量
[打印本頁]
作者:
fangsc
時間:
2015-3-17 23:38
標題:
如何分別計算出12', 13' , 14', 15'年的下單總數量
請教程式寫法:
依料號搜尋, 尋找出 "data" 工作表中
1. 分別計算出12', 13' , 14', 15'年的下單總數量
2. 找出這個料號的第一次下單日期
3. 找出這個料號的第一次下單的客戶名稱
[attach]20451[/attach]
感謝.
作者:
GBKEE
時間:
2015-3-18 11:17
回復
1#
fangsc
是試看
Option Explicit
Sub Ex()
Dim AR, Rng(1 To 3) As Range, i As Integer, C As Integer, Sp As String
With Sheets("工作表1").UsedRange.Columns("B:H")
AR = .Value
.Offset(1, 1) = "" '
For i = 2 To .Rows.Count ' UBound(AR) 也可以
With Sheets("Data")
.AutoFilterMode = False '取消自動篩選
C = 0
Set Rng(1) = Sheets("工作表1").[C1] '年度
Do While UBound(Split(Rng(1).Offset(, C), "'")) > 0
.[a1].AutoFilter Field:=3, Criteria1:=AR(i, 1) '自動篩選:料號準則
If .[D1].End(xlDown).Row <> .Rows.Count Then
Sp = Split(Rng(1).Offset(, C), "'")(0)
'自動篩選:年度準則
.[a1].AutoFilter Field:=5, Criteria1:=">=20" & Sp & "/1/1", Operator:=xlAnd, Criteria2:="<=20" & Sp & "/12/31"
If .[D1].End(xlDown).Row <> Rows.Count Then '有資料
'加總:?年度下單數量
AR(i, 2 + C) = Application.Sum(.Columns("D:D").SpecialCells(xlCellTypeVisible))
Set Rng(2) = .UsedRange.SpecialCells(xlCellTypeVisible)
If Rng(2).Areas(1).Rows.Count > 1 Then
Set Rng(3) = Rng(2).Areas(1).Range("B1")
Else
Set Rng(3) = Rng(2).Areas(2).Range("B1")
End If
If AR(i, 6) = "" Then AR(i, 6) = Rng(3).Offset(, 3) '第一次下單日期
If AR(i, 7) = "" Then AR(i, 7) = Rng(3) '第一次下單客戶
End If
End If
C = C + 1
Set Rng(1) = Rng(1).Offset(, C)
.AutoFilterMode = False
Loop
End With
Next
.Value = AR
End With
End Sub
複製代碼
作者:
fangsc
時間:
2015-3-18 18:06
回復
2#
GBKEE
Dear 版主,
謝謝你. 待我好好研究理解一下, 有什麼問題再請教您.
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)