Re: [算表] EXCEL/VBA/FIND/搜尋/範圍?
另外一種想法, 先 union 在一起刪除, 另外
Application.ScreenUpdating = False
先不要顯是刪除的過程, 也可以加快 ...
Dim r As Range
Application.ScreenUpdating = False
LastRow = Range("A65536").End(xlUp).Row
For j = LastRow To 2 Step -1
If TimeValue(Range("A" & j)) < TimeSerial(8, 0, 0) Or _
TimeValue(Range("A" & j)) > TimeSerial(16, 0, 0) Then
If r Is Nothing Then
Set r = Rows(j)
Else
Set r = Union(r, Rows(j))
End If
End If
Next j
r.Delete
Application.ScreenUpdating = True
MsgBox ("完成")
※ 引述《BioWu (過客)》之銘言:
: 軟體:EXCEL
: 版本:2003
: ------------------------------------------------
: 各位好,手邊遇到一個問題,之前匯入的 TXT 檔中,
: Columns A 是時間,但是我要篩選某個範圍的時間資料,其他都不要,
: 目前用 FOR NEXT 迴圈寫了如下
: LastRow = Range("A65536").End(xlUp).Row
: For j = LastRow To 2 Step -1
: If TimeValue(Range("A" & j)) < TimeSerial(8, 0, 0) Or _
: TimeValue(Range("A" & j)) > TimeSerial(16, 0, 0) Then _
: Rows(j).Delete
: End If
: Next j
: 不過這個很慢,因為我的資料有上千行,後來想用 Find 改寫,可是問題發生了,
: 我的 Columns A 的時間是有排序的,不一定是整點開始,
: 我要抓 08:00:00 後的第一筆資料,他有的是 08:00:04 之類的,
: 然後 Find 我查了一下是不支援大小、於的格式寫法,
: 請問各位先進,這樣我該如何下手呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.146.144
※ 編輯: windknife18 來自: 122.116.146.144 (05/04 20:51)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Office 近期熱門文章
PTT數位生活區 即時熱門文章
11
38