Como posso tornar uma fórmula volátil do Excel estática, especificamente uma fórmula contendo a função TODAY?

0

Eu tenho um log de tarefas que criei no trabalho para priorizar minhas tarefas diárias.

Em uma coluna, adicionei uma fórmula para calcular automaticamente os números dos quadrantes de Covey com base no fato de eu ter atribuído ou não uma tarefa como urgente ou não urgente e importante ou menos importante (que é preenchida como 1 , 2 , 3 ou 4 ). Eu também tenho uma coluna para atribuir uma data de vencimento. Quero atribuir automaticamente uma data de vencimento e escrevi uma fórmula para isso, mas a função TODAY significa que, amanhã, minhas datas de vencimento serão alteradas. Aqui está o que eu estou procurando realizar:

  1. Eu quero que a data de vencimento seja calculada automaticamente com base no quadrante na coluna G e na data de hoje.
  2. Eu quero que a data de vencimento permaneça estática quando eu abrir a pasta de trabalho amanhã.
  3. Quando eu inserir uma nova tarefa amanhã, quero que a data de vencimento seja calculada automaticamente novamente usando a função HOJE e, novamente, permaneça estática no dia seguinte, e assim por diante.

Eu venho pesquisando esse tópico online furiosamente há algum tempo, sem sucesso. Eu encontrei muitas recomendações para usar o CTRL + para inserir automaticamente a data de hoje em uma célula, e isso não é o que estou procurando.

Por favor, reveja a minha fórmula abaixo e deixe-me saber se existe alguma maneira de atingir meus objetivos, macro, vba, fórmula ou outra. Por favor, seja muito detalhado em suas instruções, pois estou apenas aprendendo sobre macro e vba.

=IF(ISBLANK(E4),"",IF([@QUADRANT]=1, TODAY()+1,IF([@QUADRANT]=2, TODAY()+7,IF([@QUADRANT]=3, TODAY()+3, IF([@QUADRANT]=4, TODAY()+30)))))
    
por Brianna Camps 23.01.2018 / 00:03

1 resposta

0

Infelizmente eu entendi mal os Objetivos do OP, portanto alterei minha resposta. E gostaria de sugerir duas soluções para alcançar o objetivo.

Solução 1:

Use esses códigos VBA como módulo. Primeiro converterá a Data Atual na célula A1 em um Valor de Data Estática enquanto Salvar a Pasta de Trabalho e a Macro Segundo Converterá o Valor de Data Estática em Volátil.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

    With Sheet1.Range("A1")
        .Value = .Value
    End With

End Sub


Private Sub Workbook_Open()

     With Sheet1.Range("A1")
        .Value = "=Today()"
    End With

    End Sub

Solução 2:

No lugar de duas Macros diferentes, você pode criar um botão de alternância para converter a data volátil em estático e novamente para o valor de data volátil.

    Private Sub CommandButton1_Click()

     If CommandButton1.Caption = "Convert Static" Then

      With Sheet1.Range("A1")
      .Value = .Value
      End With

   CommandButton1.Caption = "Convert Volatile"

   ElseIf CommandButton1.Caption = "Convert Volatile" Then

    With Sheet1.Range("A1")
            .Value = "=Today()"
        End With

  CommandButton1.Caption = "Convert Static"
  End If

  End Sub

NB: Siga estas etapas para realizar o trabalho.

  1. Na planilha 1 em que você executa sua fórmula, na célula A1, escreva esta fórmula = Today ().
  2. Para a solução 1 , pressione Alt + F11 para abrir o Editor do VBA, encontre os "Objetos do Microsoft Excel".
  3. Clique com o botão direito do mouse sobre ele, localize Inserir e, em seguida, Módulo.
  4. Copiar & Cole as duas macros.

Para a Solução 2 , siga estas etapas.

  1. Na planilha 1, clique na guia Desenvolvedor , localize o modo de design, à esquerda para ele está Inserir.
  2. Encontre os controles ActiveX, o primeiro é o botão de comando, clique nele e desenhe o botão na área em branco.
  3. Clique com o botão direito do mouse no botão Comando, em Localizar propriedades, em Localizar legenda e altere-o para Converter estático.
  4. Retornar à planilha, clique duas vezes no botão de comando, o editor do VBA estará aberto.
  5. Copie e cole o código VBA, vá para o menu Arquivo, pressione Fechar e Retornar ao Excel.
  6. Mais uma vez, clique no botão Design na parte superior para desativá-lo.
  7. Clique no Botão de Comando, alterará o valor da Data Volátil na Célula A1 para Estático e alterará também a Legenda do Botão de Comando para, Converter Volátil.
  8. Clique novamente quando quiser alterar o valor A1 da célula para Estático.

Lembre-se, no seu cada clique, a macro converterá a data na célula A1 como volátil em estática para volátil.

Note, na SUA FÓRMULA, use a célula A1 em vez de TODAY ().

Você está livre para escrever = Today () Formula em qualquer BLANK CELL, mas não se esqueça de modificar o Cell Address de acordo.

NB: Eu testei todas as três Macros, antes de postar aqui, estão funcionando bem.

Espero que isso ajude você.

    
por 23.01.2018 / 09:13