Como copiar texto contido no guia do Excel sem aspas?

0

Tenho notado que uma célula que contém uma guia é copiada com aspas incorporadas. Estou procurando copiar esse tipo de célula sem as aspas.

Exemplo ilustrativo

Eu tenho 5 células; A1, A2, A3, A4 e A5. As fórmulas para eles são:

AssimécomoelesseriamnoExcel:

As fórmulas são configuradas assim para que o resultado esperado ao copiar células para um editor de texto seja assim:

Infelizmente,éissoquerecebo:

O problema é com citações . O que eu preciso é copiar essas células sem as aspas.

    
por Omar 26.06.2015 / 23:56

1 resposta

2

Que tal uma solução VBA? Isto irá copiar toda a seleção da célula selecionada no canto superior esquerdo para a célula selecionada no canto inferior direito. Se você selecionar células incongruentes, esse código coletará tudo entre o canto superior esquerdo e o inferior direito de qualquer maneira. Você pode mudar isso, é claro. Foi mais fácil assim. Ele coloca guias entre as colunas e as quebras de linha entre as linhas.

Sub CopyText()

    Dim obj As Object
    Dim rng As Range
    Dim r As Long, c As Long
    Dim s As String
    Dim rTL, rBR, cTL, cBR

    rTL = Selection.Cells(1, 1).Row
    cTL = Selection.Cells(1, 1).Column

    For Each rng In Selection.Cells
        If rng.Row < rTL Then rTL = rng.Row
        If rng.Column < cTL Then cTL = rng.Column
        If rng.Row > rBR Then rBR = rng.Row
        If rng.Column > cBR Then cBR = rng.Column
    Next

    For r = rTL To rBR
        For c = cTL To cBR
            s = s & Cells(r, c).Value
            If c < cBR Then s = s & Chr(9)
        Next
        If r < rBR Then s = s & vbNewLine
    Next

    Set obj = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
    obj.SetText s
    obj.PutInClipboard
    Set obj = Nothing

End Sub

Se você está se perguntando sobre esta parte:

Set obj = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")

... é apenas a versão de associação tardia de Set obj = New DataObject , para que você não precise adicionar referências no VBA.

    
por 27.06.2015 / 00:31