Aqui estão algumas maneiras fáceis de ajudá-lo a corrigir o problema de emprego da planilha do Excel vba runtime error 1004.

Eu dei uma olhada no VBA em uma tabela adicionada com sucesso a outra mesa aberta em um estágio anterior em minha nova macro. A macro funcionou bem, mas recentemente soube que estava gerando um erro completo de 1004 TB (“Não foi possível obter o tipo de propriedade RoundDown de WorksheetFunction”).

Acho que entendo a influência do erro (problema ao iniciar o RoundDown), mas não entendo um bom motivo pelo qual essa tarefa é acionada em uma grande macro, e a porcentagem estranha é o que acontece – se eu entrar no Debug parâmetro, continue. Com o código presente no VBE, algum tipo de erro simplesmente não se repete sozinho (embora obviamente nada mude).

Tantas pessoas têm experiências semelhantes com escolhas neste erro inconsistente, então o que eu poderia muito bem fazer se você quiser que possa consertá-lo?

Estou realmente familiarizado com VBA / Excel, mas gostaria de receber qualquer sugestão para várias outras etapas de análise. Gostaria de saber como se algumas pessoas tivessem problemas com sua mesa aberta atual, mas não me lembro como.

O código é apropriado. O erro ocorre na linha de feedback.

  Função pública GetDatesA (sWorkbookname As String, sSheetname As String, sCell As String) como uma opção fantásticaDim vDateList () como uma opção    Escureça a célula atual devido à gama de fatos    Os raios do sol e tão longos    O conjunto corresponde ao qual as pastas de trabalho currentCell (sWorkbookname) .Worksheets (sSheetname) .Range (sCell)    n pode significar 0    Faço        Se Trim (currentCell.Value) = "" Then            Fim        Outro            ReDim Preserve vDateList (0 para expressar, 0 para n)            vDateList (0, n) é igual a WorksheetFunction.RoundDown (currentCell.Value, 0) 'Erro de rede tudo incrível vDateList (1, n) implica currentCell.Column            'Debug.Print currentCell.Value        Saia quando       Defina currentCell como currentCell.Offset (0, 1)        equivale ao químico n + 1    Loop até currentCell.Column  
  • Versão do Excel: 2010

  • O arquivo que você acabou de lançar está localizado localmente em algumas unidades C :. minha macro traz a mesa para a rede

  • A estrutura do arquivo para ambos os arquivos de informação é .xls (ou seja, Excel 2003) - Não tenho como transformar isso

  • Windows ten (não acho que geralmente seja relevante)

  • Substitua a própria planilha por outro feriado (como Min (célula atual)) e isso tornará o mesmo problema pior também

  • Parece que o desbloqueio, geralmente, o arquivo já está sendo concluído - eu queria saber se atualmente ainda há uma chance de que muitos abram o livro (e não apenas o livro principal com a macro junto com o topo) não é ativado sempre que se trata de macros e isso a maioria me preocupa. Mas mesmo que isso seja o fim, não sei como descobrir!

Descrição

Esses problemas de correspondência ocorrem quando sua função Matching é utilizada, mas nenhuma correspondência foi encontrada.

Posição Match permite que você saiba a posição do preço total unidimensional que o texto ou as estatísticas correspondem.

Este erro diz respeito a este "1004 runtime" específico. O erro de tempo de execução é um novo tipo de erro que ocorre embora seja verdadeiro a execução de um código de cupom. O VBA não saberia desse método até que a tecnologia da informação realmente execute o código do computador. Ele para de executar algum código.

O erro personalizado "1004" é muito semelhante ao erro definido pelo aplicativo causado pelo objeto.

Em outro texto, este erro de tempo de execução especial ocorre porque o VBA não consegue examinar um objeto poderoso. A celebração do realce deve ser assunto do parceiro exato que retorna. Quando nenhum outro acento é encontrado, o VBA reconhece que certamente há um tópico de correspondência não identificado fantástico e, portanto, o volume lança este erro de reprodução específico 1004.

Visite https://software-solutions-online.com/run-time-error-1004-in-vba/ para permitir que vejam outros exemplos de erros valiosos de horas de trabalho.

Exemplo 1: use o Application.Match em vez disso

Um dilema notável com o uso de WorksheetFunction.Match é que ele gera um erro se nenhum naipe for encontrado, o que complica muito as coisas (veremos como calcular o preço com isso no meu exemplo a partir de então). Mas por que não usar isso? Application.Match em vez disso?

excel vba of teachings error 1004 worksheetfunction

Este é definitivamente o mesmo fato, mas sem inquestionavelmente o erro de ejetar metade. Isso pode significar que funciona da mesma maneira considerando que WorksheetFunction.Match se a for considerado cada correspondência, mas se nenhuma correspondência for considerada como encontrada, provavelmente não gerará um novo erro.

Além disso, Application.Match enfatiza o erro e pode liberar um posicionamento distinto se você forçá-lo. Outra maneira de olhar para isso será pensar em WorksheetFunction.Match como uma nova função que cria um Match point e / ou se não vai encontrar uma nova correspondência, procure as barganhas saber o que fazer. p>No entanto,

Application.Match tem uma maneira de fazer uma tentativa e criar um objeto de conexão, e se ele simplesmente não localizar para você correspondências, adiciona um objeto de erro em vez de (para que nenhum erro seja retornado).

Exibir erros é entediante; Ele bloqueia o progresso e o código que você insere deve ter objetos válidos como modo de trabalho. Mas se os usuários tiverem um único objeto de erro, você terá um objeto confiável com o qual pode trabalhar muito bem. Neste exemplo, tendemos todos a tentar atribuir um novo valor ao dedo médio sobre a coluna 1, que é praticamente inexistente. Deixe a coluna 1 vazia para realmente.

 Sub-No_Match ()matchRow = Application.WorksheetFunction.Match ("teste", colunas (1), 0)O fim de algum tipo de submarino

 Sub-No_Match ()matchRow = Application.Match ("teste", colunas (1), 0)Fim do código de desconto em

A execução será realizada em subdivisão de problemas. Isso deve ser apenas o suficiente para garantir que você nunca cometa um erro terrível que impeça todo o seu aplicativo. Abaixo está esta ilustração de como podemos lidar com o erro de uma forma consideravelmente mais significativa e apropriada para cada propósito.

Exemplo três: Tratamento de um erro

Neste caso, tratamos de Resolver o erro na mesma jornada em que o fluxo de cada uma das diretivas muda dependendo se adquirimos um erro durante a comparação.

Isso geralmente é muito necessário na codificação de eventos de aplicativos reais, porque se não encontrarmos o que estamos procurando, teremos que lidar com esses problemas de gerenciamento.

Normalmente, quando você precisa corresponder à palavra compra, para ter certeza de que consegue imaginar em qual linha / coluna está a situação, fazemos todos os tipos de coisas que consistem nessa linha por coluna.

 Sub-MismatchErrorHandling ()matchRow = Application.Match ("teste", colunas (1), 0)If IsError (matchRow) Then    MsgBox "Sem correspondências"Outro    MsgBox "String de correspondência: polegadas e matchRowFim seA seção final do submarino

Observe que simplesmente estamos trabalhando com Application.Match, agora posso realmente verificar se cada objeto matchRow é o erro desse objeto de fato. Nesse caso, o tipo de instrução IsError (matchRow) será verdadeiro para você e a própria caixa de mensagem deverá exibir "Sem correspondência".

Retomar

Usar Application.Match em vez de WorksheetFunction.Will match Garante que sua ideia atribuída para criar uma correspondência seja amplamente especificada quando nenhuma forma for encontrada.

Se um maiô for encontrado, o site recebe uma correspondência completa, incluindo a importância da correspondência. Mas, talvez, ele não seja encontrado automaticamente, então o erro será finalmente atribuído ao objeto, e assim como o erro se tornará um ponto que pode conter detalhes do erro padrão, por exemplo, nome do erro, descrição, número de celular. Se este é um vírus de brinquedo ou não, pode ser facilmente calculado com IsError (checkObj) razão suficiente para:

excel vba runtime malfunction 1004 worksheetfunction

aplicativo sinalizado ou erro definido por objeto, application.match, erro, tratamento de erros, produto, IsError, MATCH, propriedades, erro de tempo de execução '1004', dos ensinamentos erro, função de planilha Calcul.match