Macro não realiza procedimento

9 views
Skip to first unread message

Leandro Bathista

unread,
Jan 5, 2020, 5:18:56 PM1/5/20
to msex...@googlegroups.com
Boa Noite!
 Preço  de Venda:-  não realiza corretamente os lançamentos.
Aguardo orientação, Planilha anexado.
KI DELICIA PRODUTOS ENTRADA 2020 DIM.xlsm

ALeXceL

unread,
Jan 6, 2020, 10:10:24 AM1/6/20
to MsExcelBR
Leandro,

O controle de última linha preenchida é feito com esta linha de comandos:
 UltimaCel = Range("B4000").End(xlUp).Row + 1
Entendi que você pretende ler sempre a última linha preenchida e somar um, para utilizar a próxima num novo preenchimento.
Acontece que a coluna B, que você escolheu para essa avaliação, está vindo sempre vazia.

Ocorreu ali o que costuma nos tirar horas de trabalho (talvez de sono também) em função de não ter sido observada uma das boas regras de programação no VBA: a colocação da declaração OPTION EXPLICIT no topo do código do módulo (antes da primeira rotina).

Option Explicit instrui ao VBE para não permitir execução de código onde há variável utilizada sem ter sido explicitamente definida. (DIM, PUBLIC, etc)

Coloque-a e o VBE te dirá onde errou, tão logo tente executar o código, ou ao fazer a Depuração.
Spoiler: há uma variável grafada incorretamente. Com o uso do Option Explicit, você teria sido alertado no ato da primeira tentativa de execução do código (ou da depuração).

Obs.: Não avaliei outros aspectos. Porém, sugiro que utilize With/End With para dar maior robustez ao código. Em vez de apenas comandar um SELECT, que em determinadas circunstâncias pode falhar, prefira isto: (Note os pontos antes dos comandos de planilha, que destaquei com tamanho de fonte maior. Ahh... e a variável já corretamente grafada :-))

 With Sheets("PREÇO_VENDA")
    .Select
     UltimaCel = .Range("B4000").End(xlUp).Row + 1
    .Range("B" & UltimaCel).Value = FORNECEDOR_CÓDIGO
'....restante do código aqui....

End With

ALeXceL
Excel 365
Oliveira/MG

Leandro Bathista

unread,
Jan 9, 2020, 1:22:04 PM1/9/20
to msex...@googlegroups.com
Boa Tarde'

Perfeito, usando a todo vapor.
Obrigado por sua atenção.

Leandro Bathista
   SJCampos


--
Participe deste Grupo: envie e-Mail em branco para MsExcelBR...@googlegroups.com
---
Você recebeu essa mensagem porque está inscrito no grupo "MsExcelBR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para msexcelbr+...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/msexcelbr/07ecc92f-f402-4a23-9355-0aafd305fbf9%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages