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 Daldegan
Posts
#64945
Pessoal boa tarde,

Estou com uma planilha que tem em sua maioria os dados todos horizontais e precisava verticalizar a planilha toda, só com o transpor não da, tentei com uso de formulas e também não consegui, são muitos dados e fazer manualmente levaria muito tempo, tem alguma macro que possa me ajudar, vou anexar a planilha para verem o que estou precisando de maneira melhor.

Obrigado.
Você não está autorizado a ver ou baixar esse anexo.
#64966
Desculpe, mas qual é a lógica?

do jeito que você quer teria um grande acréscimo tanto em linhas como em colunas...

AC ACRELANDIA AUTOMOVEL 1510 366 2494 673 660 ...

No exemplo acima, veja que ACRELANDIA tem 1510 em automóvel, porém a linha apresenta, além de 1510, 366, 2924, 673, 660 ... que são valores de outras cidades...
#64967
Dessa maneira que eu falei vai me ajudar na tabela dinâmica que vou criar, na hora de colocar as segmentações, na verdade só irá aumentar o numero de linhas, as colunas serão 4 mesmo.

UF Município Veículo Qtd.
AC ACRELANDIA AUTOMOVEL 1510
AC ACRELANDIA BONDE 0
AC ACRELANDIA CAMINHAO 494
AC ACRELANDIA CAMINHAO TRATOR 41
AC ACRELANDIA CAMINHONETE 749
AC ACRELANDIA CAMIONETA 56
AC ACRELANDIA CHASSI PLATAF 0
AC ACRELANDIA CICLOMOTOR 2
AC ACRELANDIA MICRO-ONIBUS 10
AC ACRELANDIA MOTOCICLETA 3424
AC ACRELANDIA MOTONETA 407
AC ACRELANDIA ONIBUS 43
AC ACRELANDIA QUADRICICLO 0
AC ACRELANDIA REBOQUE 93
AC ACRELANDIA SEMI-REBOQUE 69
AC ACRELANDIA SIDE-CAR 0
AC ACRELANDIA OUTROS 2
AC ACRELANDIA TRATOR ESTEI 0
AC ACRELANDIA TRATOR RODAS 0
AC ACRELANDIA TRICICLO 1
AC ACRELANDIA UTILITARIO 14

E assim por diante com todos os municípios.
#65001
O valor da quantidade está se repetindo.

AC ACRELANDIA AUTOMOVEL 1510
AC ACRELANDIA BONDE 0
AC ACRELANDIA CAMINHAO 494
AC ACRELANDIA CAMINHAO TRATOR 41
AC ACRELANDIA CAMINHONETE 749
AC ACRELANDIA CAMIONETA 56
AC ACRELANDIA CHASSI PLATAF 0
AC ACRELANDIA CICLOMOTOR 2
AC ACRELANDIA MICRO-ONIBUS 10
AC ACRELANDIA MOTOCICLETA 3424
AC ACRELANDIA MOTONETA 407
AC ACRELANDIA ONIBUS 43
AC ACRELANDIA QUADRICICLO 0
AC ACRELANDIA REBOQUE 93
AC ACRELANDIA SEMI-REBOQUE 69
AC ACRELANDIA SIDE-CAR 0
AC ACRELANDIA OUTROS 2
AC ACRELANDIA TRATOR ESTEI 0
AC ACRELANDIA TRATOR RODAS 0
AC ACRELANDIA TRICICLO 1
AC ACRELANDIA UTILITARIO 14
AC ASSIS BRASIL AUTOMOVEL 1510
AC ASSIS BRASIL BONDE 0
AC ASSIS BRASIL CAMINHAO 494
AC ASSIS BRASIL CAMINHAO TRATOR 41
AC ASSIS BRASIL CAMINHONETE 749
AC ASSIS BRASIL CAMIONETA 56
AC ASSIS BRASIL CHASSI PLATAF 0
AC ASSIS BRASIL CICLOMOTOR 2
AC ASSIS BRASIL MICRO-ONIBUS 10
AC ASSIS BRASIL MOTOCICLETA 3424
AC ASSIS BRASIL MOTONETA 407
AC ASSIS BRASIL ONIBUS 43
AC ASSIS BRASIL QUADRICICLO 0
AC ASSIS BRASIL REBOQUE 93
AC ASSIS BRASIL SEMI-REBOQUE 69
AC ASSIS BRASIL SIDE-CAR 0
AC ASSIS BRASIL OUTROS 2
AC ASSIS BRASIL TRATOR ESTEI 0
AC ASSIS BRASIL TRATOR RODAS 0
AC ASSIS BRASIL TRICICLO 1
AC ASSIS BRASIL UTILITARIO 14

O layout está perfeito.
#65015
O código abaixo executa aqui em aprox. 30 seg; resulta 116.900+ linhas na Planilha1.
Código: Selecionar todos
Sub RearranjaDados()
 Dim k As Long, x As Long
  Application.ScreenUpdating = False
  Sheets("Planilha1").Rows("2:" & Rows.Count) = ""
  With Sheets("ABRIL_2021")
   k = .Cells(Rows.Count, 1).End(3).Row - 2
   .Range("D2:X2").Copy
   Sheets("Planilha1").[C2].Resize(21 * k).PasteSpecial Transpose:=True
   For x = 3 To k + 2
    .Cells(x, 1).Resize(, 2).Copy Sheets("Planilha1").Cells(Rows.Count, 1).End(3)(2).Resize(21)
    .Cells(x, 4).Resize(, 21).Copy
    Sheets("Planilha1").Cells(Rows.Count, 4).End(3)(2).PasteSpecial Transpose:=True
   Next x
  End With
End Sub
#65023
Bom dia Osvaldo.

o código que você enviou está deixando da seguinte maneira:

As qtds continuam se repetindo e agora sumiram os veículos, o que mandei em uma msg acima estava quase correto, só as qtds. que ainda não estão vindo de maneira correta.

AC ASSIS BRASIL 1510 366
AC ASSIS BRASIL 0 0
AC ASSIS BRASIL 494 23
AC ASSIS BRASIL 41 0
AC ASSIS BRASIL 749 161
AC ASSIS BRASIL 56 21
AC ASSIS BRASIL 0 0
AC ASSIS BRASIL 2 2
AC ASSIS BRASIL 10 3
AC ASSIS BRASIL 3424 1243
AC ASSIS BRASIL 407 134
AC ASSIS BRASIL 43 4
AC ASSIS BRASIL 0 0
AC ASSIS BRASIL 93 19
AC ASSIS BRASIL 69 0
AC ASSIS BRASIL 0 0
AC ASSIS BRASIL 2 0
AC ASSIS BRASIL 0 0
AC ASSIS BRASIL 0 0
AC ASSIS BRASIL 1 0
AC ASSIS BRASIL 14 2
AC BRASILEIA 1510 2494
AC BRASILEIA 0 0
AC BRASILEIA 494 305
AC BRASILEIA 41 195
AC BRASILEIA 749 1336
AC BRASILEIA 56 91
AC BRASILEIA 0 0
AC BRASILEIA 2 5
AC BRASILEIA 10 8
AC BRASILEIA 3424 4710
AC BRASILEIA 407 1004
AC BRASILEIA 43 20
AC BRASILEIA 0 0
AC BRASILEIA 93 136
AC BRASILEIA 69 271
AC BRASILEIA 0 0
AC BRASILEIA 2 0
AC BRASILEIA 0 0
AC BRASILEIA 0 0
AC BRASILEIA 1 2
AC BRASILEIA 14 33
#65024
Salve, @Daldegan .

O código que passei não apresenta o resultado que você postou, então, ou você testou outro código ou você testou em planilha diferente da que você postou ou ambos.

O código que passei apresenta o resultado exatamente como você solicitou, veja o arquivo anexo, é cópia do seu com o código que passei instalado. Testaí :)
Você não está autorizado a ver ou baixar esse anexo.
Daldegan agradeceu por isso
#65032
A solução do osvaldomp é bem melhor, mais enxuta e mais objetiva. Porém, pra não passar em banco, publico a correção do meu código:

Na linha...
De: Planilha3.Cells(Z, 4).Value = Planilha1.Cells(2, J).Value
Para: Planilha3.Cells(Z, 4).Value = Planilha1.Cells(i, J).Value
Daldegan agradeceu por isso
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