我想输出excel表中的前三列内容到txt中,中间用空格隔开。这里有宏定义只是输出前两列,怎么改成输出前三列的?麻烦各位大神帮忙看看了!谢谢!
Sub st()
Dim rg As Object
Dim Strtemp
Dim rc As Long
rc = Application.Max(Range("A" & Rows.Count).End(xlUp).Row, Range("B" & Rows.Count).End(xlUp).Row)
Strtemp = ""
For Each rg In Range("A1:B" & rc)
If rg.Row <= rc Then
If rg.Column = 1 Then
Strtemp = Strtemp & rg.Value & vbTab
Else
Strtemp = Strtemp & rg.Value & vbCrLf
End If
End If
Next
Open ThisWorkbook.Path & "\AB.txt" For Output As #1
Print #1, Strtemp
Close #1
End Sub
Sub st()
Dim rg As Object
Dim Strtemp
Dim rc As Long
rc = Application.Max(Range("A" & Rows.Count).End(xlUp).Row, Range("B" & Rows.Count).End(xlUp).Row, Range("C" & Rows.Count).End(xlUp).Row)
Strtemp = ""
For Each rg In Range("A1:C" & rc)
If rg.Row <= rc Then
If rg.Column <> rc Then
Strtemp = Strtemp & rg.Value & vbTab
Else
Strtemp = Strtemp & rg.Value & vbCrLf
End If
End If
Next
Open ThisWorkbook.Path & "\AB.txt" For Output As #1
Print #1, Strtemp
Close #1
End Sub
您好!这样输出到txt,各行之间没有回车换行,请问怎么能换行呀?麻烦了呀。
excel 内容如图:
按照您说的执行后得到的txt是:
我想要的TXT格式内容是:
O(∩_∩)O谢谢!
If rg.Column <> rc Then
改为
If rg.Column <> 3 Then
试试
Sub st()
Dim rg As Object
Dim Strtemp
Dim rc As Long
rc = Application.Max(Range("A" & Rows.Count).End(xlUp).Row, Range("B" & Rows.Count).End(xlUp).Row, Range("C" & Rows.Count).End(xlUp).Row)
Strtemp = ""
For Each rg In Range("A1:C" & rc)
If rg.Row <= rc Then
If rg.Column <> 3 Then
Strtemp = Strtemp & rg.Value & vbTab
Else
Strtemp = Strtemp & rg.Value & vbCrLf
End If
End If
Next
Open ThisWorkbook.Path & "\AB.txt" For Output As #1
Print #1, Strtemp
Close #1
End Sub