excel vba 选择性粘贴并设置为真文本?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel vba 选择性粘贴并设置为真文本?相关的知识,希望对你有一定的参考价值。

选定区域用VBA 选择性粘贴并设置为文本的问题1、选择性粘贴;2、设置为文本;3、如图,要让文本单元格左上角有"文本小三角形"。不可能一个一个的回车操作,有什么好的VBA代码吗。只要选定的区域,不要设置特定的单元格。谢谢!
简单描述下:D2=B2+C2
选择性粘贴后,值是73,单元格格式为常规
设置单元格格式为文本后要回车操作才会出现文本小三角,用vba可以一次性解决吗。

Public Sub 文本粘贴2()
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,隐藏打开、保存及关闭。
先谢谢知道。(´-ω-`)

Const Filename = "d:\\1.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中将公式转为文本或数值公式

Excel,VBA求教表格和TXT文本互转。

如何用excel vba按关键字选择性的遍历文件夹搜索文件?

word for mac2016版的选择性粘贴 只粘贴无格式文本的快捷键是啥

EXCEL VBA怎样将复制 wb的sheet1除第一行的所有内容复制操作,选择性粘贴为值或数字格式?怎样写?

怎样默认整个excel表无格式粘贴