excel怎么篩選內容
Q:如下所示,一個名為“InputFile.csv”文件,每行有6個數字,每個數字使用空格分隔開。
現在,我要將以6 至69開頭的行放置到另一個名為“OutputFile.csv”的文件中。中只是給出了少量的示例數據,我的數據有幾千行,如何快速對這些數據進行查找并將滿足條件的行復制到新文件中?
A:VBA代碼如下:
Sub FilterTextFile()
Dim ReadLine As String
Dim buf
‘使用Open語句打開或創建文件
OpenThisWorkbook.Path & “\InputFile.csv” For Input As #1
OpenThisWorkbook.Path & “\OutputFile.csv” For Output As #2
‘循環直至到達指定文件末尾
Do Until EOF(1)
‘讀取文件中的一行并將其賦值給ReadLine變量
Line Input #1, ReadLine
‘將ReadLine中的字符串拆分成數組
buf =Split(ReadLine, ” “)
‘判斷數組的第1個值是否處于6 至69之間
‘如果是則將其寫入文件號指定的文件
If buf( ) >= 6 And buf( ) < 7 Then
Print #2, ReadLine
End If
Loop
‘關閉文件
Close #2
Close #1
End Sub
代碼假設“InputFile.csv”和“OutputFile.csv”文件都放置在與代碼工作簿相同的文件夾中。
代碼中:
1.第1個Open語句用來打開“InputFile.csv”文件,指定文件號#1。
2.第2個Open語句用來創建“OutputFile.csv”文件,指定文件號#2。由于文件夾中事先沒有這個文件,因此Excel會在文件夾中創建這個文件。
3.EOF(1)用來檢測是否到達了文件號#1的文件末尾。
4.Line Input語句從文件號#1的文件中逐行讀取其內容并將其賦值給變量ReadLine。
5.Split函數將字符串使用指定的空格分隔符拆分成下標以為起始值的一維數組。
6.Print語句將ReadLine變量中的字符串寫入文件號#2的文件。
7.Close語句關閉指定的文件。
代碼的圖片版如下:
運行代碼后,將在工作簿所在的文件夾中生成一個如下所示的名為“OutputFile.csv”的文件。