Notifications
Clear all

Transferência entre planilhas com formatação

3 Posts
2 Usuários
0 Reactions
499 Visualizações
(@queid)
Posts: 0
New Member
Topic starter
 

Prezados,

Estou com um problema, onde tenho um sistema qual envia um relatório em EXCEL, entretanto a formatação dele não é por colunas e sim por linhas!

Desta forma estou tentando criar uma macro onde eu procuro registro a registro nesta planilha e formato em outra formando colunas conforme uma Base de Dados comum, entretanto não estou conseguindo rodar em loop até encontrar o ultimo registro.

 
Postado : 08/06/2016 6:21 am
(@osvaldomp)
Posts: 857
Prominent Member
 

Veja se ajuda.

Quanto às colunas U, V e W da planilha destino: a U e a W não descobri qual a origem dos dados, e a V se possível trocar com a U para facilitar o código. Com exceção dessas colunas, que não inclui no código, veja se as demais atendem.

Sub ArranjaDados()
 Dim c As Range, wso As Worksheet, wsd As Worksheet, rng(), ftAd As String, k As Long
  Set wso = Workbooks("RelatorioPesquisaSolicitacaoServicoXlsDetalhado (2)").Sheets("RelatorioQuantitativoXls")
  Set wsd = Workbooks("mascara teste controle de demandas").Sheets("Consolidação")
   With wso
    Set c = .[A:B].Find("Nº:", LookIn:=xlValues, lookat:=xlWhole)
     If Not c Is Nothing Then
      ftAd = c.Address
       Do
        k = c.Row
         rng = Array(.Cells(k, 3), .Cells(k, 6), .Cells(k + 1, 3), _
          .Cells(k + 1, 6), .Cells(k + 2, 3), .Cells(k + 3, 3), _
          .Cells(k + 4, 3), .Cells(k + 5, 3), .Cells(k + 6, 3), _
          .Cells(k + 7, 3), .Cells(k + 7, 8), .Cells(k + 8, 3), _
          .Cells(k + 8, 8), .Cells(k + 9, 4), .Cells(k + 10, 4), _
          .Cells(k + 11, 4), .Cells(k + 12, 4), .Cells(k + 13, 4), _
          .Cells(k + 14, 4))
        Set c = .[A:B].FindNext(c)
        wsd.Cells(Rows.Count, 2).End(3)(2).Resize(, 19).Value = rng
       Loop While Not c Is Nothing And c.Address <> ftAd
     End If
   End With
End Sub
 
Postado : 09/06/2016 6:23 pm
(@queid)
Posts: 0
New Member
Topic starter
 

Osvaldomp,

Muito obrigado pela presteza, agradeço a instrução que funcionou!

Um abraço!
Denis S. Costa

 
Postado : 14/06/2016 5:03 am