Board logo

標題: [發問] 請教前輩..如何用時間範圍查詢,將查詢的清單顯示另一個工作表 [打印本頁]

作者: afu9240    時間: 2018-5-28 15:23     標題: 請教前輩..如何用時間範圍查詢,將查詢的清單顯示另一個工作表

各位前輩高手 大家好

   想利用時間範圍的查詢 將屬於這查詢範圍的資料 另顯示在工作表2,求協助code該如何寫呢~~感謝*20000[attach]28777[/attach][attach]28777[/attach][attach]28777[/attach]
作者: rouber590324    時間: 2018-5-28 16:55

Sub robert2()
工作表2.[A2:F65536].ClearContents
x = 工作表1.[A65536].End(xlUp).Row
Y = 工作表2.[A65536].End(xlUp).Row
For M = 2 To x
If 工作表1.Cells(M, 1) >= "105/01/08" And 工作表1.Cells(M, 1) <= "105/03/05" Then
工作表2.Cells(Y + 1, 1).Resize(, 6).Value = 工作表1.Cells(M, 1).Resize(, 6).Value
    Y = Y + 1
  End If
  Next
End Sub
作者: afu9240    時間: 2018-5-29 09:00

回復 2# rouber590324


    感謝r大的提供與回復 感謝*20000

透過r大的code真的能將資料貼到工作表2,只是時間範圍好像無法抓取,,譬如我要抓2015/03~2015/04 ,不知是不是r大的code
" If 工作表1.Cells(M, 1) >= "105/01/08" And 工作表1.Cells(M, 1) <= "105/05/18" Then...."(日期只接註明的關西 所以範圍無法抓取,還在研究中

感謝r大,再請r大協助  謝謝
作者: rouber590324    時間: 2018-5-29 10:20

Sub robert2()

a = InputBox("請輸入啟始日期: ")
B = InputBox("請輸入結束日期: ")
工作表2.[A2:F65536].ClearContents
x = 工作表1.[A65536].End(xlUp).Row
Y = 工作表2.[A65536].End(xlUp).Row
For M = 2 To x
If 工作表1.Cells(M, 1) >= a And 工作表1.Cells(M, 1) <= B Then
工作表2.Cells(Y + 1, 1).Resize(, 6).Value = 工作表1.Cells(M, 1).Resize(, 6).Value
    Y = Y + 1
  End If
  Next
End Sub
作者: afu9240    時間: 2018-5-29 15:36

回復 4# rouber590324

感謝R大,真的太厲害了  感謝*20000
作者: afu9240    時間: 2018-5-31 13:34

回復 4# rouber590324


    R大 你好
       很抱歉又要再跟您請教一下,inputbox如果尋找改成C攔的名稱去貼到工作表2, Code的修改方式也一樣嗎????用名稱去貼


a = InputBox("請輸入啟始日期: ")
B = InputBox("請輸入結束日期: ")
工作表2.[A2:F65536].ClearContents
x = 工作表1.[A65536].End(xlUp).Row
y = 工作表2.[A65536].End(xlUp).Row
For M = 2 To x
If 工作表1.Cells(M, 1) >= a And 工作表1.Cells(M, 1) <= B Then
工作表2.Cells(y + 1, 1).Resize(, 6).Value = 工作表1.Cells(M, 1).Resize(, 6).Value
    y = y + 1
  End If
  Next

End Sub
作者: rouber590324    時間: 2018-5-31 13:53

a.b 若改為儲存格 例: 啟始日期=工作表2.RANGE("C1")
                                      結束日期=工作表2.RANGE("C2")
則原
If 工作表1.Cells(M, 1) >= a And 工作表1.Cells(M, 1) <= B Then

If 工作表1.Cells(M, 1) >= 工作表2.RANGE("C1") And 工作表1.Cells(M, 1) <= 工作表2.RANGE("C2") Then
作者: afu9240    時間: 2018-6-1 10:39

回復 7# rouber590324

感謝 R大回覆,,非常感謝 *20000,CODE是改成下面這樣執行嗎??我這邊好像步行執行,再請R大指教 感謝R大*20000
    工作表2.Range("C1") = InputBox("輸入值")
   工作表2.Range("C2") = InputBox("輸入值")

工作表2.[A2:F65536].ClearContents
x = 工作表1.[A65536].End(xlUp).Row
y = 工作表2.[A65536].End(xlUp).Row
For M = 2 To x
If 工作表1.Cells(M, 1) >= 工作表2.Range("C1") And 工作表1.Cells(M, 1) <= 工作表2.Range("C2") Then
工作表2.Cells(y + 1, 1).Resize(, 6).Value = 工作表1.Cells(M, 1).Resize(, 6).Value
    y = y + 1
  End If
  Next
作者: rouber590324    時間: 2018-6-5 11:53

Sub robert2()
工作表2.[A2:F65536].ClearContents
x = 工作表1.[A65536].End(xlUp).Row
Y = 工作表2.[A65536].End(xlUp).Row
For M = 2 To x
If 工作表1.Cells(M, 1) >= 工作表2.Cells(1, 3) And 工作表1.Cells(M, 1) <= 工作表2.Cells(2, 3) Then
工作表2.Cells(Y + 1, 1).Resize(, 6).Value = 工作表1.Cells(M, 1).Resize(, 6).Value
    Y = Y + 1
  End If
  Next
End Sub




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