Ir ao conteúdo

Posts recomendados

Postado

Boa Tarde gente, gostaria muito do apoio de vcs, gostaria que a tabela 1, ficasse no formato da tabela 2. No caso, gostaria que isso fosse feito pelo Vba, onde quando eu clicar em um botão criado na planilha do excel automaticamente, os dados da tabela 1 ficasse no formato da tabela 2. Desde já agradeço a ajuda de vcs.

 

Tabela 1

ColunaA  ColunaB  ColunaC  ColunaD  ColunaE  ColunaF  

ITEM                                  DIA

ITEM 1        01             02            03            04           05

ITEM 2        01                             03                           05

 

 

 

Tabela2

ColunaA  ColunaB  ColunaC  ColunaD  ColunaE  ColunaF  

ITEM                                  DIA

ITEM 1        01    

ITEM 1                          02                    

ITEM 1                                        03                      

ITEM 1                                                        04

ITEM 1                                                                        05

ITEM 2        01                             

ITEM 2                                         03                           

ITEM 2                                                                        05

 

 

 

 

 

 

Postado

@DaviCN Você pode criar dois Loops sendo que o interno vai replicando as informações da Tabela 1 para a 2 enquanto o outro vai percorrendo as linhas da 1, p.ex

 

N = 1
For L = 2 To 3 <--- LINHAS DA TABELA 1
    C = 1
    For Each R In RANGE DOS DIAS DA LINHA ATUAL (L)
        If R <> "" Then
            Cells(N + LINHA DA TABELA 2, 1) = Cells(L, 1)
            Cells(N + LINHA DA TABELA 2, C + 1) = R
            N = N + 1
        End If
        C = C + 1
    Next
Next

 

Postado

Boa Tarde @Midori, agradeço pelo seu retorno, porém, nos campus: 

Cells(N + LINHA DA TABELA 2, 1) = Cells(L, 1) e Cells(N + LINHA DA TABELA 2, C + 1) = R, ficou em vermelho no codigo como se o vba não os entendesse como código.

 

Uma dúvida, além disso, no campus:

For Each R In RANGE DOS DIAS DA LINHA ATUAL (L), o código ficaria ate range?e o resto como comentário? porque não consegui identificar essa linha todo como código. 

Desde já lhe agradeço pelo apoio.

Postado

@DaviCN As partes que ficaram vermelhas é onde você deve editar e adaptar o código, p.ex

 

Se quiser que a Tabela 2 comece na linha 6, esta parte:

Cells(N + LINHA DA TABELA 2, C + 1) = R

Ficará assim,

Cells(N + 5, C + 1) = R

 

 

Postado

Boa Tarde @Midori, como eu faria no caso para que a tabela2 começasse justamente na célula(linha) que começa a tabela 1. Desde já agradeço.

Postado

@DaviCN A tabela 2 deve que ser gerada em um range sem dados e a macro usa os dados da tabela 1 durante a execução, então teria que copiar a 2 sobre a 1 depois desse processo.

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!