excel vba 选择性粘贴并设置为真文本?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel vba 选择性粘贴并设置为真文本?相关的知识,希望对你有一定的参考价值。
选定区域用VBA 选择性粘贴并设置为文本的问题1、选择性粘贴;2、设置为文本;3、如图,要让文本单元格左上角有"文本小三角形"。不可能一个一个的回车操作,有什么好的VBA代码吗。只要选定的区域,不要设置特定的单元格。谢谢!
简单描述下:D2=B2+C2
选择性粘贴后,值是73,单元格格式为常规
设置单元格格式为文本后要回车操作才会出现文本小三角,用vba可以一次性解决吗。
Dim Rng As Range, CxRng As Range
If Selection.Count > 1 Then
Set Rng = Selection
Rng.NumberFormatLocal = "@"
For Each CxRng In Rng
CxRng.Value = "'" & CxRng.Value
Next
End If
End Sub 参考技术A 其实搜索一下就有答案。。。
可以先将单元格设置为文本再运行VBA
也可以用类似于以下的代码
Range("D2").NumberFormatLocal = "@"
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没这个说法吧
以上是关于excel vba 选择性粘贴并设置为真文本?的主要内容,如果未能解决你的问题,请参考以下文章
如何用excel vba按关键字选择性的遍历文件夹搜索文件?
word for mac2016版的选择性粘贴 只粘贴无格式文本的快捷键是啥