標題:
多頁出貨資料如何在新分頁依範圍日期選出排列呢?
[打印本頁]
作者:
jimmy510
時間:
2012-7-16 09:45
標題:
多頁出貨資料如何在新分頁依範圍日期選出排列呢?
請教各位大大:
我在EXCEL資料裡面有多個分頁如下
[attach]11690[/attach]
[attach]11691[/attach]
有辦法可以在新的分頁裡面依指定的日期範圍將多個分頁內符合的資料回傳到新分頁中嗎?
起來的校果如下面的排列..
[attach]11692[/attach]
請精通EXCELL的大大幫我解答,謝謝..
作者:
jimmy510
時間:
2012-8-20 09:36
一個多月了~怕各位大大太忙沒看到~~頂一下^^
作者:
jimmy510
時間:
2012-8-23 13:23
標題:
RE: 多頁出貨資料如何在新分頁依範圍日期選出排列呢?
本帖最後由 jimmy510 於 2012-8-23 13:24 編輯
回復
2#
jimmy510
範例檔如壓縮檔,請問可以在新分頁中將某區段日期的所有分頁資料排列出來嗎?例如我要選99/6/1至99/9/1所有的出貨資料..
煩請資深的版友幫我一下~謝謝..
[attach]12242[/attach]
作者:
jimmy510
時間:
2012-9-5 13:47
抱歉囉~再頂一下~我文件已經上傳了~有空的版友幫忙一下吧^^~謝謝..
作者:
Hsieh
時間:
2012-9-5 16:24
本帖最後由 Hsieh 於 2012-9-5 16:26 編輯
回復
4#
jimmy510
不知道是不是這個意思
彙整資料又有計算欄位可能用VBA比較單純
Sub ex()
Dim ar()
ReDim Preserve ar(s)
ar(s) = Array("尺寸", "日期", "數量", "單價", "總額", "備註")
s = 1
st = InputBox("輸入起始日期", , Format(DateAdd("M", -12, Date), "e/m/d"))
st1 = InputBox("輸入起始日期", , Format(Date, "e/m/d"))
For Each sh In Sheets
With sh
If .Name Like "刀模*" Then
For Each a In .Range(.[A3], .Cells(.Rows.Count, 1).End(xlUp))
If CDate(a) >= CDate(st) And CDate(a) <= CDate(st1) Then
ReDim Preserve ar(s)
ar(s) = Array(.[A1].Value, a.Value, a.Offset(, 1).Value, a.Offset(, 2).Value, a.Offset(, 1).Value * a.Offset(, 2).Value, a.Offset(, 3).Value)
s = s + 1
End If
Next
End If
End With
Next
If s > 1 Then
With Worksheets.Add(after:=Sheets(Sheets.Count))
.[A1].Resize(s, 6) = Application.Transpose(Application.Transpose(ar))
End With
Else
MsgBox "沒有符合資料"
End If
End Sub
複製代碼
作者:
jimmy510
時間:
2012-9-6 09:14
回復
5#
Hsieh
感謝版大的解答~我測試後真的是我想要的東西~謝謝..可是有些小問題想請教,當我將這個VBA放到別的活頁簿使用時巨集再跑時有發生錯誤,執行偵錯時跑到
If CDate(a) >= CDate(st) And CDate(a) <= CDate(st1) Then 錯誤,請問有哪邊需要調整嗎?
作者:
Hsieh
時間:
2012-9-6 14:05
ˋ
回復
6#
jimmy510
你的日期並非正確的日期格式
例如99/9/3這會被認為是1999/9/3
可能是你的日期超出系統許可日期範圍
導致Cdate函數出錯
請上傳錯誤檔案以釐清原因
作者:
jimmy510
時間:
2012-9-6 14:46
回復
7#
Hsieh
版大你好,附上有問題的資料,麻煩你幫我看一下,我有看過日期設定應該都沒錯..[attach]12386[/attach]
作者:
Hsieh
時間:
2012-9-6 15:11
回復
8#
jimmy510
當工作表A3以下沒有日期資料才會出錯
Sub 出貨查詢()
Dim ar()
ReDim Preserve ar(s)
ar(s) = Array("尺寸", "日期", "數量", "單價", "總額", "備註")
s = 1
st = InputBox("輸入起始日期", , Format(DateAdd("M", -12, Date), "e/m/d"))
st1 = InputBox("輸入起始日期", , Format(Date, "e/m/d"))
For Each sh In Sheets
With sh
If .Name Like "刀模*" Then
For Each a In .Range(.[A3], .Cells(.Rows.Count, 1).End(xlUp))
If Not IsDate(a) Then GoTo 10
If CDate(a) >= CDate(st) And CDate(a) <= CDate(st1) Then
ReDim Preserve ar(s)
ar(s) = Array(.[A1].Value, a.Value, a.Offset(, 1).Value, a.Offset(, 2).Value, a.Offset(, 1).Value * a.Offset(, 2).Value, a.Offset(, 3).Value)
s = s + 1
End If
10
Next
End If
End With
Next
If s > 1 Then
With Worksheets.Add(after:=Sheets(Sheets.Count))
.[A1].Resize(s, 6) = Application.Transpose(Application.Transpose(ar))
End With
Else
MsgBox "沒有符合資料"
End If
End Sub
複製代碼
作者:
jimmy510
時間:
2012-9-6 15:19
感謝版大~~解決了~~謝謝你的幫忙
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)