Obter texto delimitado por tabulação de uma coluna específica no excel

1

Eu tenho uma planilha do MS Excel 2013 na qual tenho a lista de algumas pessoas que participaram de uma conferência, seu endereço, número de telefone, etc. em diferentes guias. Agora, fui solicitado a criar uma lista delimitada por tabulações dos participantes de um folheto. Existe uma maneira de fazer isso sem me forçar a redigitar / copiar e colar cada linha dos dados? Eu só preciso da coluna do nome. Desejo preparar a brochura no MS Publisher 2013. Qualquer ajuda será apreciada.

    
por SinTan1729 02.01.2016 / 19:54

2 respostas

1

Get tab delimited text from a specific column in excel

I've asked to create a tab delimited list of the attendees for a brochure. Is there a way which can do it without forcing me to retype/copy-paste every single line of the data the data? I only need the name column.

Aqui estão as etapas para fazer isso manualmente e rapidamente com o Notepad ++ caso você esteja procurando uma maneira manual de concluir isso facilmente sem código de outra forma; Além disso, você tem sua pergunta marcada com texto também.

  1. Abra sua planilha do Excel com a coluna que você deseja obter os dados valores de como a coluna de nome.

  2. Clique nessa coluna para realçar todos os valores e pressione Ctrl + C (ou clique com o botão direito e selecione Copy ).

  3. Abra o Notepad ++ e um novo novo documento em branco e, em seguida, pressione Ctrl + V (ou clique com o botão direito e selecione Paste ) para colar os valores da coluna que acabou de copiar.

  4. De dentro do Notepad ++ com os valores de dados colados, pressione Ctrl + A para selecionar tudo o que colou, suba e selecione Edit select Line Operations e em seguida, selecione Remove Empty Lines (Containing Blank characters)

  5. De dentro do Notepad ++ com os valores de dados, todos realçados sobem e selecionam Edit select Blank Operations e, em seguida, selecionam Trim Leading and Trailing Space

  6. De dentro do Notepad ++, com os valores de dados ainda todos realçados, pressione Ctrl + H vá para na guia Replace , insira os valores e verifique se as opções estão selecionadas, conforme mostrado abaixo. Pressione a opção Replace All e essa guia deverá delimitar todos os seus valores de dados.

  7. De lá, você pode salvar os valores recém-formatados como um novo documento de texto ou copiar e colar nesse formato (delimitado por tabulação) para seus outros aplicativos, etc., conforme necessário.

Por favor, note que eu testei isso e confirmei que funcionava como esperado e, em seguida, voltei e importei para o Excel como delimitado por tabulação e tudo parece ser delimitado por tabulação e importar corretamente.

Captura de tela

Fonte: Expressões regulares do Notepad ++

\n

  • The LF control character 0x0A (line feed). This is the regular end of line under Unix systems.

\r

  • The CR control character 0x0D (carriage return). This is part of the DOS/Windows end of line sequence CR-LF, and was the EOL character on Mac 9 and earlier. OSX and later versions use \n.

\t

  • The TAB control character 0x09 (tab, or hard tab, horizontal tab).

Nota adicional

Existe também o Ctrl + A e Ctrl + J recurso do Notepad ++, mas não adicionará a guia para delimitar, mas sim espaços. Não tenho certeza se sua coluna "nome" é nome e sobrenome, ou apenas um nome, que você poderia delimitar "espaço", se necessário, e isso funciona no seu caso.

    
por 02.01.2016 / 21:39
1

I assume that you have some knowledge with programming. This way the given names should explain everything. (So i will not explain how the code works.)

Para mostrar uma maneira correta de fazer isso com o VBA (e disponibilizá-lo para outros aplicativos) Você pode usar este script:

First open your VBA window via Alt+F11. Then "Insert" and "Module". You can simply copy/paste the code there

Option Explicit
Sub Put_All_Names_to_Clipboard()
  Dim Name_In_Cell As Variant, Name_List As String
  For Each Name_In_Cell In Selection.Value
    If Len(Name_In_Cell) = 0 Then
      Exit For
    ElseIf Len(Name_List) Then
      Name_List = Name_List & vbTab & Name_In_Cell
    Else
      Name_List = Name_In_Cell
    End If
  Next
  Dim Object_For_Clipboard As Object
  Set Object_For_Clipboard = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
  Object_For_Clipboard.SetText Name_List
  Object_For_Clipboard.PutInClipboard
  Set Object_For_Clipboard = Nothing
End Sub

Agora, colocará uma lista separada por tabulação (string de texto) de todos os valores de chamada selecionados (para na primeira célula vazia, assim, sinta-se à vontade para selecionar uma coluna inteira). Depois que a macro é executada, você pode simplesmente "colar" a string onde quiser. No entanto, sugiro que cole-o no lugar certo diretamente no arquivo do editor, o que economiza 1 etapa e também mantém sua área de transferência limpa para outras tarefas.

Você pode iniciar a macro diretamente colocando o cursor de texto em algum lugar dentro do sub e pressionar F5 . Você também pode atribuir o macro para um botão ou adicione-o na barra de ferramentas

Como última dica: Você também pode criar uma macro diretamente no MS-Publisher e apenas "pegar" esta string do arquivo excel. Mas isso é algo que você pode fazer mais tarde se se sentir melhor com o VBA. :)

    
por 03.01.2016 / 13:23