Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
Por eissoaimesmo
#1519
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
Você não está autorizado a ver ou baixar esse anexo.
Por duds
Posts
#1520
Boa tarde eissoaimesmo,

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

Att.
Avatar do usuário
Por alexandrevba
Avatar
#1568
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
Por eissoaimesmo
#1621
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.
Você não está autorizado a ver ou baixar esse anexo.
Avatar do usuário
Por alexandrevba
Avatar
#1622
Boa tarde!!

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

Att
Por eissoaimesmo
#1633
Opa,

Segue em anexo Alexandre, formato xls.



Att,

Eissoaimesmo
Você não está autorizado a ver ou baixar esse anexo.
Avatar do usuário
Por alexandrevba
Avatar
#1832
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
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord