Página 1 de 1

Selecionar Tabela abas diferentes com loop

Enviado: 04 Out 2020 às 12:19
por marcusVMO
Boa tarde pessoal,

Criei uma tabela em duas abas, com os nomes Tab16m1 (aba1) e Tab16m2 (aba2).
Gostaria de selecionar cada uma das tabelas num loop.

Então fiz o seguinte código:
Código: Selecionar todos
n=2
 For k = 1 To n
   Set tabela = Sheets(k).ListObjects("Tab16m" & k)
       
  'executa operações
   lend = tabela.ListRows.Count
   tabela.DataBodyRange(lend, 3).Select
Next
O código ta mudando de aba e pegando o lend da tabela, mas não ta executando o select.
Tem algo errado?

Obrigado pela atenção

Re: Selecionar Tabela abas diferentes com loop

Enviado: 04 Out 2020 às 14:43
por osvaldomp
Código: Selecionar todos
Sub op()
 Dim k As Long
  For k = 1 To 2
   With Sheets(k)
    .Activate
    .ListObjects("Tab16m" & k).Range.Select
    '.ListObjects("Tab16m" & k).DataBodyRange.Select
   End With
  Next k
End Sub

Selecionar Tabela abas diferentes com loop

Enviado: 06 Out 2020 às 16:40
por marcusVMO
Obrigado Osvaldo!

Na planilha eu vejo essa mudança de aba e seleção de células nas tabelas.
É possível deixar rodando essas ações no código e não mostrar na planilha pra não confundir o usuário?

Re: Selecionar Tabela abas diferentes com loop

Enviado: 06 Out 2020 às 16:51
por osvaldomp
Se você nos informar qual é exatamente o seu objetivo a ajuda poderá ser mais objetiva.

Qual o seu objetivo ao selecionar cada tabela ?

Selecionar Tabela abas diferentes com loop

Enviado: 06 Out 2020 às 21:34
por marcusVMO
O objetivo é registrar parcelas de um lançamento de compra.

Fiz um documento com uma aba para cada mês. Cada aba tem uma tabela de cada dia do mês. Nessas tabelas são lançadas as compras diárias.
Fiz uma macro pra varrer as tabelas dos dias de um mês (aba ativa), pegar os lançamentos parcelados e distribuir as parcelas nas abas dos mês futuros, sempre na tabela do dia de vencimento.

No exemplo que mandei a tabela do dia do vencimento é sempre a Tab16. Em cada aba tem a Tab16mk, onde k é o indice da aba do mês, que está variando no loop.

Então pelo que entendi, eu preciso ativar a aba e selecionar a célula pra registrar a parcela. Quando eu tenho muito dado, dá pra ver essa transição de aba.

Re: Selecionar Tabela abas diferentes com loop

Enviado: 07 Out 2020 às 09:26
por osvaldomp
marcusVMO escreveu:O objetivo é registrar parcelas de um lançamento de compra.
Você quer registrar manualmente ou via outra macro? Se for manualmente, então não faz sentido selecionar as Tabelas em Loop como você pediu na inicial. Ainda, para efetuar operações via macro raramente é preciso selecionar algo, então só cabe selecionar se for para efetuar lançamentos manualmente.

Então pelo que entendi, eu preciso ativar a aba e selecionar a célula pra registrar a parcela. Quando eu tenho muito dado, dá pra ver essa transição de aba.
Na inicial você pediu para selecionar Tabelas em planilhas diferentes, e para selecionar a Tabela, a planilha correspondente deve ser ativada antes, porém você não quer ver a planilha que foi ativada, é isso? Tá confuso :?:

Re: Selecionar Tabela abas diferentes com loop

Enviado: 07 Out 2020 às 09:52
por marcusVMO
Você quer registrar manualmente ou via outra macro? Se for manualmente, então não faz sentido selecionar as Tabelas em Loop como você pediu na inicial. Ainda, para efetuar operações via macro raramente é preciso selecionar algo, então só cabe selecionar se for para efetuar lançamentos manualmente.
Vou registrar manualmente. A minha ideia era registrar na tabela do dia da compra e colocar um status "a lançar". Depois quando quiser lançar a compra pro dia da fatura, eu aperto um botão que contem uma macro. Essa macro ia verificar as compras "a lançar" nos dias daquele mês (30 tabelas naquela aba) e distribuir nos dias do vencimento dos mês futuros se por parcelada.
Pode ser que tenha um jeito mais inteligente kkkk Comecei a estudar vba semana passada então não conheço muito os recursos, como por exemplo, configurar diretamente as células da tabela dos dias pra jogar uma compra de cartão na tabela do dia da fatura. Consegui criar um código com o meu esquema de verificar o status "a lançar", vou abrir outro tópico pra discutir a ideia em si e anexo a planilha com a macro.

Na inicial você pediu para selecionar Tabelas em planilhas diferentes, e para selecionar a Tabela, a planilha correspondente deve ser ativada antes, porém você não quer ver a planilha que foi ativada, é isso? Tá confuso :?:
Encontrei, o comando é (Application.ScreenUpdating = False). É pra não ficar mostrando as seleções.

Muito obrigado pela ajuda Osvaldo! Vou encerrar o tópico porque a questão da seleção das tabelas em abas diferentes foi resolvida.