你如果需要将当前工作表的数据保存为以逗号分隔的文本文件,然后可导入其他程序,那么下列代码即可实现。 分隔符可根据需要修改,如用'|'分隔。 Option Explicit Sub WriteText() Dim r&, c&, Filename$, i&, j&, mystr$ Dim t1, t2
t1 = Now() '计时开始
With ActiveSheet '获取活动工作表中数据区域的行数赋给变量r r = .Range('A' & Rows.Count).End(xlUp).Row '根据不同的Office版本(2007为12.0)对数据列数取不同的值 If Application.Version >= '12.0' Then c = .Range('XFD1').End(xlToLeft).Column Else c = .Range('IV1').End(xlToLeft).Column End If '用活动工作表名称作为文本文件的文件名 Filename = .Name & '.txt' End With
'创建打开文本文件,准备写入数据,文件将保存到当前目录 Open ThisWorkbook.Path & '\' & Filename For Output As #1
'从第1行到最后一行逐行循环 For i = 1 To r mystr = '' '置空字符 '每行中从第一列到最后一列的前一列循环 For j = 1 To c - 1 '加分隔符号,也可据修改为竖线等 mystr = mystr & Cells(i, j) & ',' Next j '对最后一列单独处理,该列不加分隔符 mystr = mystr & Cells(i, j) '向文本文件写入数据 Print #1, mystr Next i
'关闭文本文件 Close #1
t2 = Now() '计时结束 MsgBox '用时:' & Format(t2 - t1, 'h小时m分s秒') End Sub
看图吧
以下为模拟数据:
转换结果:
|