乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>vba</em> 如何当前excel 打开txt文件后并将txt文件保...

<em>vba</em> 如何当前excel 打开txt文件后并将txt文件保...

作者:乔山办公网日期:

返回目录:excel表格制作


录宏看看。

如果txt文件中的数据是由逗号分隔,试试下面的代码:
Sub TXT导入到EXCEL() '把由逗号分隔的TXT数据导入EXCEL
Application.ScreenUpdating = False '关闭屏幕刷新
Const ForReading = 1 '打开一个只读文件
Set fso = CreateObject("Scripting.FileSystemObject") '创建文本对象
Set fd = Application.FileDialog(msoFileDialogOpen) '创建“打开”对话框对象
If fd.Show = -1 Then '如果选择了文件
FileName = fd.SelectedItems(1) '记录文件路径(指定文本文件名)
Else '如果没有选择文件
MsgBox "没有选择文件,请重新操作!", , "导入到EXCEL"
Exit Sub '退出程序
End If

Set sFile = fso.OpenTextFile(FileName, ForReading) '创建并打开名为sFile的TextStream对象
i = 1 '设置输入单元格的起始行号
Do While Not sFile.AtEndOfStream '如果不是文本文件的尾端,则读取数据
LineText = sFile.ReadLine '从文本文件中依次读取一行数据为字符串
d = InStr(LineText, ",") '计算e799bee5baa6e59b9ee7ad94331这行数据从左向右第一个全角逗号的位置
If d > 0 Then '如果全角逗号存在
TH = Replace(LineText, ",", ",") '把字符串中的全角逗号替换成半角逗号
FJ = Split(TH, ",") '把由半角逗号分隔的字符串TH写入数组FJ
ElseIf d = 0 Then '如果全角逗号不存在
FJ = Split(LineText, ",")
End If
For iCol = LBound(FJ) To UBound(FJ) '从数组中读取数据并写入对应的单元格
ThisWorkbook.ActiveSheet.Cells(i, iCol + 1) = FJ(iCol)
Next iCol
i = i + 1 '滚动到下一个写入数据的单元格行
Loop
sFile.Close
Set fso = Nothing
Set fd = Nothing
Set sFile = Nothing
Application.ScreenUpdating = False '关闭屏幕刷新
End Sub

注意:
按Alt+F11打开宏编辑器,插入模块,粘贴上述代码后,在要导入TXT文件的当前工作表中制作一个命令按钮链接宏即可操作。
ThisWorkbook.Path 改成你需要的路径就可以了,比如改成 “C:",就在C盘根目录下

  新建一个模块,将代码复制到到这个模块中,就会将当前工作表保存到thisworkbook目录下,并以txt格式来保存。如下图执行的效果,执行后频幕左下角可以看到保存后的zhidao文档:


  Sub baocun()

  ActiveSheet.SaveAs Filename:= _

  ThisWorkbook.Path & "\" & ActiveSheet.Name & ".txt", FileFormat:= _

  xlUnicodeText, CreateBackup:=False

  End Sub

  如果想保存那个工作表,那么这个工作表就必须在激活状态,才能保存正确。

相关阅读

  • <em>excel</em>中VBa程序保存不了

  • 乔山办公网excel表格制作
  • 你应该用百的是Excel 2007以后版本,这种版本的Excel文件一般有两种格式,一种度是不包含宏的知文件,扩展道名是.xlsx,另一种是包含宏的文件,扩展名是.xlsm。如果你想在Excel文件里写
关键词不能为空
极力推荐

聚合标签

ppt怎么做_excel表格制作_office365_word文档_365办公网