Os Milissegundos são arredondados para o segundo mais próximo quando tenta atribuir o formato VBA Date ou o formato Data variante a uma célula numa folha de cálculo do Excel

Sintomas

Quando se faz uma alteração programática para o valor de uma célula numa folha de cálculo do Microsoft Excel, o valor milissegundo que especifica é arredondado para o segundo mais próximo. Esta questão ocorre quando as seguintes condições são verdadeiras:

  • A alteração que faz atribui o formato VBA Date ou o formato Data variante à célula.

  • Faz a alteração programática utilizando um macro Visual Basic para Aplicações ou utilizando um cliente de Automação externa.

Este problema não ocorre quando a alteração que es faz atribui o formato Data ou o formato Hora à célula.

Causa

Este problema ocorre porque o Excel forma formatos internos datam as cordas de acordo com o formato de data e hora especificado no separador Opções Regionais do item Opções Regionais e Linguísticas no Painel de Controlo. Este valor é arredondado para o segundo mais próximo. O Excel atribui este valor à célula e depois recalcula o valor para produzir um novo valor de data para a célula.

Solução

Utilize um dos seguintes métodos para contornar esta questão.

Método 1

Pode converter o valor da data num formato de corda que contenha uma fração de segundo. Este valor de cadeia pode ser atribuído e calculado como um formato de data que mantém os milissegundos.

Método 2

Pode utilizar a propriedade Value2 do objeto Range para reter os milissegundos. Por exemplo, pode utilizar o seguinte código VBA.

Sub CopyValueUsingVBDate()   Dim d As Date   d = ActiveSheet.Range("A1").Value   ActiveSheet.Range("B1").Value2 = dEnd Sub

Para obter informações adicionais, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:

182812 Descrição da propriedade Value2 para o objeto Range

Precisa de mais ajuda?

Aumente os seus conhecimentos
Explore as formações
Seja o primeiro a obter novas funcionalidades
Aderir ao Microsoft insiders

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×