Como parar o formato de célula de mudança do Excel definido em um modelo?

1

Estou usando um modelo do Excel para gerar um relatório do Access usando o VBA. Quando o arquivo recém-criado é aberto, um número de formatação da célula foi alterado de "Número" para "Data".

Uma tabela no modelo tem células formatadas como "Número":

EssacélulanãotemdadosenviadosparaelesapartirdoAccess,elestêmfórmulasquefazemreferênciaaoutraplanilhanapastadetrabalho.Apósaconclusãodaexportaçãodedados,abrooarquivodoExcelevejoisto:

Estaéaúnicacolunanatabelathisquefazisso,masoutrascélulasdatabelanaplanilhatambémsãoalteradasparaoformato"Data" quando elas contêm apenas números.

Eu escrevi o código do VBA, então sei que não é o código que está alterando o formato e não há macros definidas no modelo.

Procurei respostas, mas nenhuma delas parece funcionar ou não é aplicável a esse problema. Por exemplo, todas as seguintes perguntas sobre SU não fornecem a resposta para mim:

Eu gostaria de encontrar uma solução que não requeira alterações nas configurações globais do Excel. O banco de dados do Access será enviado para um cliente e eu não quero que eles alterem suas configurações apenas para isso, eles também usarão uma versão diferente do Excel (eu tenho 2013)

Eu tentei formatar algumas células usando o VBA ao enviar dados para eles, mas o cliente gostaria de poder editar o modelo do Excel sem ter que alterar o código do VBA no banco de dados; daí a razão para empurrar dados para uma folha separada que é então referenciada pela tabela. Se codificar com firmeza a formatação de certas células, elas não poderão editá-las.

Como faço para impedir que o Excel altere a formatação?

Atualizar

Estou começando a achar que isso é causado por um bug no Excel 2013. Infelizmente, não tenho outra versão disponível para testar essa teoria, mas a alteração na formatação só acontece com a planilha atualmente visível quando o modelo é salvo .

Eu adicionei uma "folha de rosto" à pasta de trabalho que contém informações sobre o relatório. Esta planilha não faz referência a nenhum dos dados em outras partes da pasta de trabalho. Com esta folha selecionada, salvei e fechei o modelo. Os relatórios produzidos usando este modelo mais recente não alteram a formatação da célula quando o relatório é gerado e, em seguida, aberto.

Agora também noto que outras planilhas, semelhantes àquelas que têm problemas de formatação, não têm células aleatoriamente reformatadas, pois não eram a planilha 'ativa' quando o modelo foi salvo / fechado.

Isso me faz pensar que é uma falha no Excel e nada a ver com o meu código; e embora contorne o problema por enquanto eu gostaria de encontrar uma solução, ou pelo menos, uma explicação desse comportamento curioso.

    
por Tony 23.01.2018 / 13:18

1 resposta

0

Estou postando isso como um trabalho em volta , não uma resposta, na esperança de que seja útil para alguém que tenha esse problema.

Se você vir a alteração da formatação da célula, sem motivo aparente, em arquivos gerados a partir de um modelo, talvez valha a pena adicionar outra folha ao modelo de pasta de trabalho que não contenha nenhuma fórmula ou referência. Certifique-se de que esta folha esteja selecionada quando o modelo for salvo / fechado.

Novos arquivos gerados a partir do modelo não devem mais ter sua formatação alterada.

Eu só testei isso usando o Office 2013 (Access e Excel).

    
por 24.01.2018 / 00:01