vba 把excel中的值复制粘贴到txt中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vba 把excel中的值复制粘贴到txt中相关的知识,希望对你有一定的参考价值。
Open "c:\1.txt" For Append As #1
Selection.Paste
在Selection.Paste上报 对象不支持,该如何解决
Sub DaoChu()
Dim I As Integer, J As Long, RW As Long
For I = 1 To ActiveSheet.UsedRange.Columns.Count
Open ThisWorkbook.Path & "\" & Cells(1, I) & ".txt" For Output As 1
For J = 2 To Cells(65536, I).End(3).Row
Print #1, Cells(J, I).Value
Next J
Close 1
Next I
MsgBox "数据导出完毕!", vbOKOnly, "导出成功"
End Sub 参考技术A vba写入txt见一下代码
如果想用copy的话,必须用到剪贴板
Dim MyData As DataObject
MyData.GetFromClipboard()
Open "c:\1.txt" For Append As #1
Print #1, MyData.GetText()
或者
dim str as string
str=[a1]
Open "c:\1.txt" For Append As #1
Print #1, str追问
抱歉 不是很懂,
Range("Q12:Q48").Select
Selection.Copy
Open "c:\1.txt" For Append As #1
该怎么把这段数据粘贴至1.txt中。。。
Dim MyData As DataObject
Range("Q12:Q48").copy
MyData.GetFromClipboard()
Open "c:\1.txt" For Append As #1
Print #1, MyData.GetText()
在MyData.GetFromClipboard()上面报这个错
Dim MyData As DataObject
Dim MyStr As String
Set MyData = New DataObject
Range("Q12:Q48").Copy
MyData.GetFromClipboard
MyStr = MyData.GetText
Open "c:\\1.txt" For Append As #1
Print #1, MyStr
Close #1
End Sub追问
不好意思,这次在Dim MyData As DataObject报这个错
工具》引用》Miscrosoft Forms 2.0 Object Library打钩,确定。
追问表示没有,是不是因为我是03的office的缘故
工具》引用》浏览
xp:C:\Windows\System32\FM20.dll
win7:C:\Windows\SysWOW64\FM20.dll
Excel,VBA求教表格和TXT文本互转。
Excel,VBA求教表格和TXT文本互转。想学习VBA对txt的读取和写入。先简单点的。
1,对当前子表使用区域进行复制粘贴到txt中(有分列空格)。
2,对特定txt文档读取,粘贴到当前子表指定单元格(开始)。
3,实现txt,隐藏打开、保存及关闭。
先谢谢知道。(´-ω-`)
Sub 复制Excel表格到Text文件()
On Error Resume Next
Dim srcRng As Range, destRng As Range, textWorkBook As Workbook, wb As Workbook
Application.DisplayAlerts = False
'打开Text文件前,保存当前活动的工作薄对象
Set wb = ActiveWorkbook
Set srcRng = wb.ActiveSheet.UsedRange
If Dir(Filename) = "" Then
'如果Text文件不存在,新建一个工作薄,粘贴区域从A1开始
Set textWorkBook = Workbooks.Add
Set destRng = textWorkBook.Sheets(1).Range("A1")
Else
'通过Workbooks的OpenText方法,打开Text文件
Workbooks.OpenText Filename:=Filename
If Err Then
MsgBox "打开文件 " & Filename & "出错。错误信息如下:" & vbCrLf & vbcrlr & Err.Description
Exit Sub
End If
Set textWorkBook = ActiveWorkbook
'查找粘贴开始位置,即现有数据的最后一行的下一行
'为了防止是空表时,end操作会定位到最后一行
Set destRng = textWorkBook.Sheets(1).Range("A1").End(xlDown).Offset(1)
If Err Then
Set destRng = textWorkBook.Sheets(1).Range("A1")
End If
End If
textWorkBook.Windows(1).Visible = False '隐藏Text文件的窗口,既可以达到隐藏打开,保存和关闭。
srcRng.Copy destRng '表的使用区域复制到Text文件的工作薄,指定位置
'使用Workbook的SaveAs方法,通过指定FileFormat参数为xlText,将工作薄另存为Text文件。
textWorkBook.SaveAs Filename:=Filename, FileFormat:=xlText
textWorkBook.Close SaveChanges:=True
Application.DisplayAlerts = True
End Sub
Sub 复制Text文件到Excel表格()
On Error Resume Next
Dim destRng As Range, textWorkBook As Workbook, wb As Workbook
Application.DisplayAlerts = False
'打开Text文件前,保存当前活动的工作薄对象
Set wb = ActiveWorkbook
'查找粘贴开始位置,即现有数据的最后一行的下一行
'为了防止是空表时,end操作会定位到最后一行
Set destRng = wb.ActiveSheet.Range("A1").End(xlDown).Offset(1)
If Err Then
Set destRng = wb.ActiveSheet.Range("A1")
Err.Clear
End If
If Dir(Filename) = "" Then
'Text文件不存在
MsgBox "文件 " & Filename & "不存在!"
Exit Sub
Else
'通过Workbooks的OpenText方法,打开Text文件
Workbooks.OpenText Filename:=Filename
If Err Then
MsgBox "打开文件 " & Filename & "出错。错误信息如下:" & vbCrLf & vbcrlr & Err.Description
Exit Sub
End If
Set textWorkBook = ActiveWorkbook
End If
textWorkBook.Windows(1).Visible = False '隐藏Text文件的窗口,既可以达到隐藏打开,保存和关闭。
textWorkBook.Sheets(1).UsedRange.Copy destRng '表的使用区域复制到Text文件的工作薄,指定位置
'关闭Text文件。
textWorkBook.Close SaveChanges:=False
Application.DisplayAlerts = True
End Sub
使用workbooks的OpenText方法来打开Text文件,然后可以向操作Excel工作表来操作Text文件。 参考技术A 隐藏打开
是怎么打开?TXT没这个说法吧
以上是关于vba 把excel中的值复制粘贴到txt中的主要内容,如果未能解决你的问题,请参考以下文章
Excel VBA - 循环遍历多个文件夹中的文件,复制范围,粘贴到此工作簿中