Página 1 de 1

ORGANIZAR DADOS

Enviado: 26 Jun 2015 às 16:54
por eissoaimesmo
Ola senhores,


Preciso de ajuda a respeito da seguinte situação, tenho uma planilha que tem a as seguintes informações,
nome,data e turno.
Preciso que seja organizado de outro forma essa informações, eu recebo a informação no seguinte formato:


01/01/2015 02/01/2015 03/01/2015
joão dia tarde dia tarde dia tarde


Eu preciso que fique em forma de uma tabela assim:

nome dia turno

joão 01/01/2015 dia
joão 01/01/2015 tarde
joão 02/01/2015 dia
joão 02/01/2015 tarde
joão 03/01/2015 dia
joão 03/01/2015 tarde

e assim por diante lembrando que nessa planilha tenho varias pessoa então teria que rodar algo para conferir o nome de todos, estou enviando um exemplo da planilha em anexo, coloquei separado como recebo e como preciso que ela fique.

Obrigado

ORGANIZAR DADOS

Enviado: 26 Jun 2015 às 17:03
por duds
Boa tarde eissoaimesmo,

Uma pergunta, você sempre recebe dia tarde, ou as vezes pode vir só tarde ou só dia?
Aguardo sua resposta!

Att.

ORGANIZAR DADOS

Enviado: 26 Jun 2015 às 21:41
por eissoaimesmo
Opa Obrigado pelo retorno rápido Eduardo,

Acontece de vir só dia e só tarde.

ORGANIZAR DADOS

Enviado: 30 Jun 2015 às 15:41
por eissoaimesmo
Algum retorno Eduardo?

Re: ORGANIZAR DADOS

Enviado: 01 Jul 2015 às 11:52
por alexandrevba
Bom dia!!

Talvez lhe ajude.
Código: Selecionar todos
Option Explicit

Sub AleVBA_301()
   Dim origSh As Worksheet
   Dim resSh As Worksheet
   Dim lastRow As Long, r As Long
   Dim lastCol As Integer, c As Integer
   Dim destRow As Long, myText
   
   
   With ThisWorkbook
      Set origSh = .Sheets("Plan1")
      Set resSh = .Sheets("Plan2")
   End With
      
   lastRow = origSh.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
   lastCol = origSh.Cells.Find("*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column

   destRow = 1
   resSh.Rows("2:" & Rows.Count).ClearContents
   
   For r = 2 To lastRow
      For c = 2 To lastCol
         If Trim(origSh.Cells(r, c)) <> "" Then
            For Each myText In Split(Trim(origSh.Cells(r, c)), " ")
               destRow = destRow + 1
               
               resSh.Cells(destRow, 1) = origSh.Cells(r, 1)
               resSh.Cells(destRow, 2) = origSh.Cells(1, c)
               resSh.Cells(destRow, 3) = myText
            Next
         End If
      Next c
   Next r
End Sub
Att

ORGANIZAR DADOS

Enviado: 06 Jul 2015 às 12:09
por eissoaimesmo
Opa desculpe pela demora no retorno Alexandre,

Deu certinho, só que eu tenho um outro problema ... a planilha que estou recebendo atualmente está vindo com alguns campos em branco, e outras informações que são irrelevantes para min, como ficaria para eu enviar para a outra aba somente as informações relevantes ? no caso o nome da pessoa e os plantões que ela está escala?

Segue planilha original em anexo.
P.S.: está com a extensão .XML

Muito Obrigado.

Re: ORGANIZAR DADOS

Enviado: 06 Jul 2015 às 12:50
por alexandrevba
Boa tarde!!

Por favor mande um arquivo no formato xls, xlsx, xls, o arquivo que você mandou está no formato xml.

Att

ORGANIZAR DADOS

Enviado: 07 Jul 2015 às 10:18
por eissoaimesmo
Opa,

Segue em anexo Alexandre, formato xls.



Att,

Eissoaimesmo

ORGANIZAR DADOS

Enviado: 20 Jul 2015 às 17:06
por eissoaimesmo
Retorno?

Re: ORGANIZAR DADOS

Enviado: 27 Jul 2015 às 11:55
por alexandrevba
Bom dia!!

Eu vi seu arquivo, porém seu arquivo não condiz com usa postagem e eu não consegui entender, mas eu vejo que seu arquivo está do jeito que o VBA odeia, infestado de células mescladas..srsrs

Vamos ver se mais alguém pode ajudar.

Att