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