@Mubeen Shahid 我根据您的原始请求编写了下面的代码 sn-p,因此它现在不能完全满足您的新条件。没用的就扔了吧。
代码将读取 .csv 文件并将其格式化为工作表 1 中的单列。对于此示例,.csv 文件称为“NosToCol.csv”,您必须提供自己的路径,如 所示。参数可以在代码sn-p中更改以适应。
Sub ReadCSVFile()
Dim ws As Worksheet
Dim fName As String, Txt1 As String, tmpvar As String
Dim fRow As Long, lRow As Long, Rw As Long
Dim Col As Long, rec As Long
Dim wrng As Range, cl As Range
Dim ifnum As Integer
Dim rearr(), wrarr
Set ws = Sheets("Sheet1")
fName = "<<yourpath>>\NosToCol.csv"
fRow = 2 'Row 2
Col = 1 'Col A
Txt1 = ""
ifnum = 1
With ws
lRow = .Cells(Rows.Count, Col).End(xlUp).Row
'READ DATA FROM FILE
Open fName For Input Access Read As #ifnum
rec = 0
Do While Not EOF(ifnum)
Line Input #ifnum, tmpvar
rec = rec + 1
ReDim Preserve rearr(1 To rec)
rearr(rec) = tmpvar
Loop
Close #ifnum
'WRITE DATA TO RANGE
For c = 1 To rec
wrarr = Split(rearr(c), ",")
Set wrng = .Range(.Cells(fRow, Col), .Cells(fRow + UBound(wrarr, 1), Col))
'.Range(.Cells(fRow, Col), .Cells(fRow + UBound(wrarr, 1), Col)).Value = Application.Transpose(wrarr)
wrng.Value = Application.Transpose(wrarr)
c = c + 1
'MODIFY CELL COLOUR
For Each cl In wrng
If cl = 0 Then cl.Interior.Color = vbRed Else cl.Interior.Color = vbGreen
Next cl
Next c
End With
End Sub