Board logo

標題: [發問] 如何使用單一篩選拉多重資料???如圖 [打印本頁]

作者: keovin790916    時間: 2016-7-19 13:54     標題: 如何使用單一篩選拉多重資料???如圖

本帖最後由 keovin790916 於 2016-7-19 13:56 編輯

請教如何

如檔案這個




[attach]24699[/attach]

[attach]24699[/attach]
作者: c_c_lai    時間: 2016-7-19 14:02

回復 1# keovin790916
你的遊戲規則,請說明要篩選?
作者: keovin790916    時間: 2016-7-19 14:10

回復 2# c_c_lai


    如檔案的 輸入代號後 能直接篩選 資料 (未完成)工作頁是尚未完成的   跟完成後
作者: c_c_lai    時間: 2016-7-19 15:28

回復 3# keovin790916
[attach]24701[/attach]
[attach]24702[/attach]
作者: keovin790916    時間: 2016-7-19 17:25

回復 4# c_c_lai


    大大是厲害


看來我要理解一下這個了

Sub Ex()
    Dim rng As Range, ctn As Range
    Dim typ As String, amt As Double
   
    [A23:F35].Clear
    typ = "": amt = 0
    [E36:E43] = 0
    Set ctn = [A23]
    For Each rng In Range("C3", [C3].End(xlDown))
        If rng = [C20] Then
            If typ = "" Then typ = rng.Offset(, 1)
            ctn = rng.Offset(, -2)             '  日期
            ctn.Offset(, 1) = rng.Offset(, 3)  '  品名
            ctn.Offset(, 2) = rng.Offset(, 5)  '  件數
            ctn.Offset(, 3) = rng.Offset(, 6)  '  重量
            ctn.Offset(, 4) = rng.Offset(, 7)  '  單價
            ctn.Offset(, 5) = rng.Offset(, 8)  '  金額
            amt = amt + ctn.Offset(, 5).Value
            Set ctn = ctn.Offset(1)
        End If
    Next
    [E36] = amt
    [E37] = amt * IIf(typ = "Q", [J24].Value, [J25].Value)
    [E38] = amt * IIf(typ = "Q", [J27].Value, [J28].Value)
    [E39] = amt * IIf(typ = "Q", [J32].Value, [J33].Value)
    [E42] = amt * IIf(typ = "Q", [J36].Value, [J37].Value)
    [E43] = amt - [E37].Value - [E38].Value - [E39].Value - [E42].Value
End Sub
作者: keovin790916    時間: 2016-7-19 20:38

請問大大  如何加入四捨五入 Int(X + 0.5)??
作者: c_c_lai    時間: 2016-7-19 21:03

回復 6# keovin790916
  1. Sub Ex()
  2.     Dim MyDouble As Double, MyInt As Integer
  3.    
  4.     MyDouble = 2345.4678 ' MyDouble 是雙精準數。
  5.     MyInt = CInt(MyDouble) ' MyInt 的值為2345。
  6.     MsgBox MyDouble & " =" & vbCrLf & MyInt
  7. End Sub
複製代碼

作者: keovin790916    時間: 2016-7-19 21:58

Sub Ex()
    Dim rng As Range, ctn As Range
    Dim typ As String, amt As Double
   
    [A23:F35].Clear
    typ = "": amt = 0
    [E53:E60] = 0
    Set ctn = [A23]
    For Each rng In Range("C3", [C3].End(xlDown))
        If rng = [C20] Then
            If typ = "" Then typ = rng.Offset(, 1)
            ctn = rng.Offset(, -2)             '  日期
            ctn.Offset(, 1) = rng.Offset(, 3)  '  品名
            ctn.Offset(, 2) = rng.Offset(, 5)  '  件數
            ctn.Offset(, 3) = rng.Offset(, 6)  '  重量
            ctn.Offset(, 4) = rng.Offset(, 7)  '  單價
            ctn.Offset(, 5) = rng.Offset(, 8)  '  金額
            amt = amt + ctn.Offset(, 5).Value
            Set ctn = ctn.Offset(1)
        End If
    Next
    [E53] = amt
   
    [E54] = amt * IIf(typ = "蔬菜", [J24].Value, [J25].Value)
    [E55] = amt * IIf(typ = "蔬菜", [J27].Value, [J28].Value)
    [E56] = amt * IIf(typ = "蔬菜", [J32].Value, [J33].Value)
    [E59] = amt * IIf(typ = "蔬菜", [J36].Value, [J37].Value)
   
    [E54] = WorksheetFunction.Round([E54], 0)  '四捨五入
    [E55] = WorksheetFunction.Round([E55], 0)
    [E56] = WorksheetFunction.Round([E56], 0)
    [E59] = WorksheetFunction.Round([E59], 0)
   
    [E60] = amt - [E54].Value - [E55].Value - [E56].Value - [E59].Value
   
End Sub

請問如果要改工作頁1 那怎麼寫?




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