Sub ImportAsText() Dim FileName As String Dim FileNo As Integer Dim Buf As String Dim SplitString As Variant Dim i As Long, RowCnt As Long ' 选择文件 FileName = Application.GetOpenFilename("文本文件,*.txt;*.csv") If FileName = "False" Then Exit Sub ' 1. 初始化:全选单元格并设为文本格式 Cells.Select Selection.NumberFormatLocal = "@" Cells(1, 1).Select RowCnt = 1 FileNo = FreeFile() ' 2. 打开文件并读取 Open FileName For Input As #FileNo Do Until EOF(FileNo) Line Input #FileNo, Buf ' 如果是CSV请将 vbTab 改为 "," SplitString = Split(Buf, vbTab) For i = 0 To UBound(SplitString) Cells(RowCnt, i + 1) = SplitString(i) Next i RowCnt = RowCnt + 1 Loop Close #FileNo ' 3. 恢复标准格式(不影响已读入的文本) Cells.Select Selection.NumberFormatLocal = "G/标准" Cells(1, 1).Select MsgBox "数据导入完成!"End Sub