Minhas matrizes estão diminuindo sozinhas


#1

Olá galera preciso muito da ajuda de vocês, tenho uma planilha que as matriz_tabela estão reduzindo sozinhas ou por algum erro, como por exemplo:

Tenho a função PROCV(F6;CLIENTES!B2:O500;7;FALSO), após um tempo ou erro (algo que não sei o que possa estar causando-a) a formula por exemplo fica assim PROCV(F6;CLIENTES!B2:O487;7;FALSO), ou seja ela vai diminuindo.

Isso esta ocorrendo creio que com todas as matrizes pelo que estou notando. Andei revisando os códigos no VBA e ainda não achei nenhum erro; também criei uma copia e testei todas os botoes com as macros e nenhuma afetou (pelo menos no próprio momento) as matrizes.

Informações: A planilha trabalha com muitas formulas, Vba e tem 112MB


#2

Colega @rippeljl boa tarde!

talvez isso deva estar acontecendo porque você não está travando as células da matriz…

tente isso:

=PROCV(F6;CLIENTES!$B$2:$O$500;7;FALSO)

Abrç!


#3

Boa noite @xlarruda,

Creio que esta acontecendo mesmo nas formulas com a matriz travada, não sendo esse o motivo teria alguma outra ideia?

Afetaria em algo a planilha estar em um hd e não acessada diretamente no pc,not ?


#4

Acredito que em algum momento no processo esteja ocorrendo exclusão de linhas. Manualmente ou por VBA.


#5

Bom dia @xavier , é uma possibilidade.

Infelizmente ainda não achei algo que causa-se a exclusão de linhas nos códigos VBA, realizei todas as macros e conferi se as formulas se modificaram e não mudou. Vou agora conversar com a secretária que opera a planilha se ela não estaria excluindo manualmente.

Mas estou com uma duvida que tipo de exclusão causaria (talvez) essa diminuição das células da matriz em diferentes planilhas(abas) e matrizes.?


#6

@rippeljl, talvez alguma macro esteja selecionando várias abas, o que faria com que uma exclusão exclua em várias planilhas.


#7

Pelo que estou notando o erro da exclusão vem dessa macro, alguém poderia me ajudar a corrigir?
Não sei o que fiz de errado.
O que essa macro pode estar alterando em outras matrizes?

Sub apagar_clientes()
’ apagar_clientes Macro
Application.ScreenUpdating = False 'Desabilita atualização de tela
Application.Calculation = xlManual 'Desativa modo automático de cálculo

mensagem = MsgBox(“Confirme a exclusão do cadastro”, vbYesNo, “ATENÇÃO !”)

'sim
If mensagem = vbYes Then

Sheets(“CLIENTES”).Select
Range(“B2”).Select

While ActiveCell <> “”

If Planilha17.Range(“D5”).Text = ActiveCell Then
ActiveCell.EntireRow.Delete
End If

ActiveCell.Offset(1, 0).Activate

Wend

Sheets(“CLIENTES0”).Activate

End If

'não
If mensagem = vbNo Then
End
End If

Application.ScreenUpdating = True 'Habilita atualização de tela

End Sub


#8

@rippeljl, é isso. Essa macro apaga a linha do cliente. Infelizmente não conheço uma forma de evitar esse comportamento, já que a exclusão de linha me parece necessária.


#9

Boa tarde @rippeljl,

não percebo muito disto mas eu num ficheiro tenho uma macro que coloca as formulas nas células sempre que o ficheiro abre.
Não sei se não podes fazer o mesmo no teu, sempre que essa macro acabar a outra cola a formula.

Range(“C3”).Select
ActiveCell.FormulaR1C1 = _
"=IFERROR(VLOOKUP(R[-1]C,‘am068’!C[-2]:C[-1],2,0),"""")"

Não sei se te ajuda mas fica aqui.

Cumprimentos.


#10

Bom dia galera, como o @xavier comentou é necessário a exclusão dos dados da linha, como não consegui bloquear a matriz tabela de modo que a macro não a diminuísse eu substitui a exclusão da linha pela somente exclusão dos dados da linha juntamente com uma classificação.
Minha matriz não diminui e classificandoa eu não deixo a linha em branco no meio do "banco de dados"o que causaria erros nas buscas.
@Galamba , ótima ideia vou usar em algumas planilhas.
Agradeço as dicas e opiniões.