Página 1 de 1

Como utilizar a função FIMMÊS em vba?

Enviado: 24 Set 2019 às 15:16
por Diego100ges
Pessoal, boa tarde.
Estou tentando utilizar a função FIMMÊS em vba que seria em exemplo:

Application.WorksheetFunction.EoMonth(Data, -3) + 1

Supondo que na variável DATA, estivesse a data 01/09/2019, o retorno da ação deveria ser 01/07/2019, porém, 01/11/2018.

Pelo que entendi fazendo alguns testes, o meses são fixos, ex: 0 = fevereiro, 1 = março, 2 = abril, e assim sucessivamente, é isso mesmo? ou estou utilizando de forma errada?
Código: Selecionar todos
Private Sub CommandButton2_Click()
Data = TextoData.Value

Firstkey = TextoUC.Text & "-" & Application.WorksheetFunction.EoMonth(Data, 1) + 1

Label3 = Firstkey

End Sub

Como utilizar a função FIMMÊS em vba?

Enviado: 24 Set 2019 às 15:51
por eduardogrigull
Não sei se entendi direito, mas não resolveria usar o DateAdd?
Exemplo:
DateAdd("m", -2, Data)

No caso do exemplo, reduziria 2 meses da variável "Data"
A fórmula é usada assim: DateAdd("Valor("m = mes, d=dia,yyyy=ano", "qtd positiva ou negativa", "String")
Código: Selecionar todos
Firstkey = TextoUC.Text & "-" & DateAdd("m", -2, Data)

Re: Como utilizar a função FIMMÊS em vba?

Enviado: 24 Set 2019 às 16:28
por Diego100ges
Pra um dos formulários atendeu perfeitamente, porém, no outro ele começou a dar erro no PROCV, não estou entendendo a origem do erro.

Segue anexo

Como utilizar a função FIMMÊS em vba?

Enviado: 25 Set 2019 às 10:57
por eduardogrigull
As datas estão sendo cadastradas como números inteiros... Provavelmente é isso, mas não entendi a lógica do formulário pra testar. Podes tentar definir a variável Data: "Dim Data as Date" no CommandButton1, e alterar o formato na planilha pra data.