先声明,本人菜鸟一个,所以采用的是笨办法 第一个问题: for i=1 to sh.rows.count-1 [或application.workbookfunction.counta(Range("A:A"))] text1.text=text1.text+sh.cells(i,1)第二个问题: n=sh.cells(2,2).ColumnWidth n1=lenb(sh.cells(i,2)) if n1<n then for j=1 to n-n1 text2.text=text1.text+"" next text2.text=text2.text+sh.cells(i,2)
数据一定要在 a列 和B列 Private Sub Command1_Click() Dim i As Long, A As Long Dim Eneters As String
Set ex = CreateObject("Excel.Application") Set wb = ex.Workbooks.Open("C:\A.XLS") '打开你的文件 Set sh = wb.Sheets(1)
A = ex.ActiveSheet.UsedRange.Rows.Count
For i = 0 To A If sh.Cells(i + 1, 1) <> "" And sh.Cells(i + 1, 2) <> "" Then Eneters = Eneters & sh.Cells(i + 1, 1) & sh.Cells(i + 1, 2) & vbCrLf End If Next i Open "c:\eneters.txt" For Output As #1 '保存路径 Print #1, Eneters Close #1 MsgBox "数据保存成功", , "提示" wb.Close SaveChanges:=True '直接关闭不保存 ex.Quit 'ex.Visible = True Set ex = Nothing Set wb = Nothing Set sh = Nothing End Sub
楼主说的是vba吧?如果是,则可以使用以下代码:Sub SaveToFile() Dim sh As Worksheet Dim i As Long, l As Long, v As String
Close Set sh = Sheet1 '修改为你实际的工作表 Open "c:\temp.txt" For Output As #1 ' For i = 1 To sh.UsedRange.Rows.Count v = sh.Cells(i, 2) '获得当前行B列的内容 l = Len(v) '获得当前行B列字符的长度 If l < 10 Then '字符数量不足10个时在后面补加空格 Sheet1.Cells(i, 2) = v & Space(10 - Len(v)) End If v = sh.Cells(i, 1) & sh.Cells(i, 2) '连接当前行A列和B列的内容 Print #1, v '保存A列和B列的内容 Next Close #1 MsgBox "保存完毕" End Sub
Sheet1.Cells(i, 2) = v & Space(10 - Len(v))改成:sh.Cells(i, 2) = v & Space(10 - Len(v))
第一个问题:
for i=1 to sh.rows.count-1 [或application.workbookfunction.counta(Range("A:A"))]
text1.text=text1.text+sh.cells(i,1)第二个问题:
n=sh.cells(2,2).ColumnWidth
n1=lenb(sh.cells(i,2))
if n1<n then
for j=1 to n-n1
text2.text=text1.text+""
next
text2.text=text2.text+sh.cells(i,2)
Dim Eneters As String
Set ex = CreateObject("Excel.Application")
Set wb = ex.Workbooks.Open("C:\A.XLS") '打开你的文件
Set sh = wb.Sheets(1)
A = ex.ActiveSheet.UsedRange.Rows.Count
For i = 0 To A
If sh.Cells(i + 1, 1) <> "" And sh.Cells(i + 1, 2) <> "" Then
Eneters = Eneters & sh.Cells(i + 1, 1) & sh.Cells(i + 1, 2) & vbCrLf
End If
Next i
Open "c:\eneters.txt" For Output As #1 '保存路径
Print #1, Eneters
Close #1
MsgBox "数据保存成功", , "提示"
wb.Close SaveChanges:=True '直接关闭不保存
ex.Quit
'ex.Visible = True
Set ex = Nothing
Set wb = Nothing
Set sh = Nothing
End Sub
Dim sh As Worksheet
Dim i As Long, l As Long, v As String
Close
Set sh = Sheet1 '修改为你实际的工作表
Open "c:\temp.txt" For Output As #1 '
For i = 1 To sh.UsedRange.Rows.Count
v = sh.Cells(i, 2) '获得当前行B列的内容
l = Len(v) '获得当前行B列字符的长度
If l < 10 Then '字符数量不足10个时在后面补加空格
Sheet1.Cells(i, 2) = v & Space(10 - Len(v))
End If
v = sh.Cells(i, 1) & sh.Cells(i, 2) '连接当前行A列和B列的内容
Print #1, v '保存A列和B列的内容
Next
Close #1
MsgBox "保存完毕"
End Sub