Página 1 de 1

Função Cont.Valores em VBA

Enviado: 16 Ago 2016 às 10:42
por FilipeTeixeira
Bom dia!

Estou tentando fazer com que ao inserir um novo registro em uma tabela o código abaixo gere um código para o produto baseado na quantidade de produtos cadastrados.

Por algum motivo (Provavelmente muito banal) a variável "codigo" sempre guarda o numero 1, ou seja, a função não está contando todos os valores do intervalo.

Tentei das formas que estão comentadas, mas nenhuma funcionou.
Código: Selecionar todos
Sub Inserir_Produto()
    
    Dim codigo As Long

    Worksheets("BDProdutos").Rows(7).Insert
    Worksheets("BDProdutos").Range("C7").Value = "Insira a descrição"
    
    'codigo = WorksheetFunction.CountA(Tab_BDProdutos[Descrição])
    'codigo = WorksheetFunction.CountA("Tab_BDProdutos[Descrição]")
    codigo = WorksheetFunction.CountA(TotalProdutos)
    Worksheets("BDProdutos").Range("B7").Value = codigo
        
End Sub

Segue a planilha em anexo.

Att: Filipe

Re: Função Cont.Valores em VBA

Enviado: 16 Ago 2016 às 11:47
por alexandrevba
Bom dia!!

Tente isso
Código: Selecionar todos
Sub Inserir_Produto()
    Dim codigo As Long
    Dim myWorkSheet As Worksheet, myTable As ListObject, countRows As Long
    Set myWorkSheet = ActiveWorkbook.Worksheets("BDProdutos")
    Set myTable = myWorkSheet.ListObjects("Tab_BDProdutos")
    

    Worksheets("BDProdutos").Rows(7).Insert
    Worksheets("BDProdutos").Range("C7").Value = "Insira a descrição"
    codigo = myTable.DataBodyRange.Rows.Count
    Worksheets("BDProdutos").Range("B7").Value = codigo
        
End Sub
Att

Função Cont.Valores em VBA

Enviado: 16 Ago 2016 às 11:58
por FilipeTeixeira
Perfeito Alexandre.

Muito Obrigado por sua ajuda.

Att: Filipe.