Ir para conteúdo
Fórum Script Brasil
  • 0

Fórmula que soma no vba


Leandro Moreno

Pergunta

Preciso criar uma evento click que faça a seguinte funçao:

Quando clicar no botão faça a seguinte soma 

10/06/2022 + 30 para essa data transformar em 10/07/2022 e outro botão que faço ao contrário que diminua 30, que faça isso para uma sequência de linha na mesma coluna com datas diferentes. Alguém pode me ajudar.

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Boa noite @Leandro Moreno

Você tem algum print mostrando mais ou menos como deseja essa função?

Pensando que as informações vão esta dentro de um formulário pensei na seguinte possibilidade:

Formulário:

image.png.0fc60c25abe9b4ee22331f690b8d51c0.png

Código:
 

Private Sub btAcress_Click()
Dim x As Double
x = CVDate(tData)
x = x + tDias

tResultado.Value = Format(x, "DD/MM/YYYY")
End Sub

Private Sub btDecress_Click()
Dim x As Double
x = CVDate(tData)
x = x - tDias

tResultado.Value = Format(x, "DD/MM/YYYY")
End Sub

 

Link para o comentário
Compartilhar em outros sites

  • 0
9 horas atrás, Alyson Ronnan Martins disse:

Boa noite @Leandro Moreno

Você tem algum print mostrando mais ou menos como deseja essa função?

Pensando que as informações vão esta dentro de um formulário pensei na seguinte possibilidade:

Formulário:

image.png.0fc60c25abe9b4ee22331f690b8d51c0.png

Código:
 

Private Sub btAcress_Click()
Dim x As Double
x = CVDate(tData)
x = x + tDias

tResultado.Value = Format(x, "DD/MM/YYYY")
End Sub

Private Sub btDecress_Click()
Dim x As Double
x = CVDate(tData)
x = x - tDias

tResultado.Value = Format(x, "DD/MM/YYYY")
End Sub

 

Bom dia @Alyson Ronnan Martins

desde já agradeço a ajuda, segue o print de como eu desejo a função:

ao clicar na seta da direita soma 30 dias na coluna e na seta da esquerda diminua 30 dias da coluna.Capturar.thumb.JPG.588f31e886a50511e075cb7699a91ed1.JPGCapturar1.JPG.e496900d4fcd5a68fabdac0e0a2049ef.JPG

 

Link para o comentário
Compartilhar em outros sites

  • 0
2 horas atrás, Alyson Ronnan Martins disse:

Uma dúvida, todos os dias devem ser alterados na coluna ou apenas o selecionado no formulário?

Somente da coluna, estamos no mês 6, quando clicar a coluna muda pro mês 7 e mantém o dia, por isso acresentar mais 30. Se quiser me chamar no whatsapp (67) 9 99873329 

Link para o comentário
Compartilhar em outros sites

  • 0

Boa noite, como você mandou um print mostrando (mais ou menos) como deve ser a planilha eu fiz o seguinte código:

Public Sub btAcress_Click()
Dim valorNovo As Long
valorNovo = ActiveSheet.Range("K3").Value
btAtualizarDatas valorNovo
End Sub

Public Sub btDecress_Click()
Dim valorNovo As Long
valorNovo = ActiveSheet.Range("K3").Value * -1
btAtualizarDatas valorNovo
End Sub

Public Sub btAtualizarDatas(Valor As Long)
Dim planilhaNome            As String
Dim x                       As Long
Dim ultimaLinhaPlanilha     As Long

planilhaNome = "Simulação"
With Sheets(planilhaNome)
    ultimaLinhaPlanilha = .Cells(Rows.Count, "D").End(xlUp).Row
    For x = 2 To ultimaLinhaPlanilha
        If .Cells(x, "D").Value <> "" Then
            .Cells(x, "D").Value = .Cells(x, "D").Value + Valor
        End If
    Next x
End With
End Sub

Planilha para download e teste

Vídeo mostrando a planilha: vídeo

Avalia esse código.

Link para o comentário
Compartilhar em outros sites

  • 0
46 minutos atrás, Alyson Ronnan Martins disse:

Boa noite, como você mandou um print mostrando (mais ou menos) como deve ser a planilha eu fiz o seguinte código:

Public Sub btAcress_Click()
Dim valorNovo As Long
valorNovo = ActiveSheet.Range("K3").Value
btAtualizarDatas valorNovo
End Sub

Public Sub btDecress_Click()
Dim valorNovo As Long
valorNovo = ActiveSheet.Range("K3").Value * -1
btAtualizarDatas valorNovo
End Sub

Public Sub btAtualizarDatas(Valor As Long)
Dim planilhaNome            As String
Dim x                       As Long
Dim ultimaLinhaPlanilha     As Long

planilhaNome = "Simulação"
With Sheets(planilhaNome)
    ultimaLinhaPlanilha = .Cells(Rows.Count, "D").End(xlUp).Row
    For x = 2 To ultimaLinhaPlanilha
        If .Cells(x, "D").Value <> "" Then
            .Cells(x, "D").Value = .Cells(x, "D").Value + Valor
        End If
    Next x
End With
End Sub

Planilha para download e teste

Vídeo mostrando a planilha: vídeo

Avalia esse código.

Alyson, fico muito grato pela sua ajuda, e exatamente o que eu preciso. Muito mais muito obrigado mesmo. 🙏🏼🙏🏼

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...