Página 1 de 1

Macro dá erro ao copiar/colar/apagar várias células

Enviado: 09 Mar 2017 às 09:49
por ttorres
Com a ajuda do Osvaldo eu consegui resolver o problema de fixar data em uma célula.
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
 If Intersect(Target, Range("CAIXATIPOS")) Is Nothing Then Exit Sub
  If Target.Value = "" Then Target.Offset(, -2).Value = "" Else: Target.Offset(, -2).Value = Date
End Sub
Surgiu um problema,
eu fui colar valores de uma planilha antiga para a nova com a função acima, e ele dá um erro. Também dá o mesmo erro se eu tentar apagar ao mesmo tempo várias células que usam o macro acima.

Erro no tempo de execução '13':
Incompatibilidade de tipo

Agradeço aos que irão ajudar.

Macro dá erro ao copiar/colar/apagar várias células

Enviado: 09 Mar 2017 às 10:24
por Henrique
Veja a solução que eu lhe dei no outro fórum. O problema está provavelmente no Offset

Re: Macro dá erro ao copiar/colar/apagar várias células

Enviado: 09 Mar 2017 às 10:33
por ttorres
Henrique escreveu:Veja a solução que eu lhe dei no outro fórum. O problema está provavelmente no Offset
Olá Henrique, você é muito eficiente, que Deus lhe abençoe por isso.

Em relação a questão do outro tópico, é que a fórmula ela altera o valor da própria célula.
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Application.ScreenUpdating = False
Application.EnableEvents = False
        Application.Intersect(Target.EntireRow, Range("Data")).Value = Format(Now(), "dd/mm/yyyy")
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Eu preciso que a Range Data receba a data quando a CAIXATIPOS for preenchia, e que a Range Data seja limpa quando a CAIXATIPOS for apagada.

Re: Macro dá erro ao copiar/colar/apagar várias células

Enviado: 09 Mar 2017 às 10:55
por Henrique
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Application.ScreenUpdating = False
Application.EnableEvents = False
If Intersect(Target, Range("CAIXATIPOS")).value = "" Then
Application.Intersect(Target.EntireRow, Range("Data")).Value = ""
Exit Sub
Else
Application.Intersect(Target.EntireRow, Range("Data")).Value = Format(Now(), "dd/mm/yyyy")
End if
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub

Re: Macro dá erro ao copiar/colar/apagar várias células

Enviado: 09 Mar 2017 às 10:58
por osvaldomp
ttorres escreveu: eu fui colar valores de uma planilha antiga para a nova com a função acima, e ele dá um erro.
Em qual intervalo você quer colar? Essa colagem será uma única vez ou será rotineira?

Também dá o mesmo erro se eu tentar apagar ao mesmo tempo várias células que usam o macro acima.
Em qual intervalo você apagou várias células.Isso será uma única vez ou será rotineiro?

Re: Macro dá erro ao copiar/colar/apagar várias células

Enviado: 09 Mar 2017 às 11:03
por ttorres
Olá Henrique, muito obrigado por toda colaboração.

Como faço para que a DATA fique no formato dia/mes/ano, pois apesar de ter selecionado a célula como data abreviada, ela está inserindo o mês primeiro (mês/dia/ano)

Outra coisa, quando eu apago o valor da CELULA DA CAIXATIPOS não está apagando na coluna DATAS

Re: Macro dá erro ao copiar/colar/apagar várias células

Enviado: 09 Mar 2017 às 11:06
por ttorres
osvaldomp escreveu:
ttorres escreveu: eu fui colar valores de uma planilha antiga para a nova com a função acima, e ele dá um erro.
Em qual intervalo você quer colar? Essa colagem será uma única vez ou será rotineira?

Também dá o mesmo erro se eu tentar apagar ao mesmo tempo várias células que usam o macro acima.
Em qual intervalo você apagou várias células.Isso será uma única vez ou será rotineiro?
Olá Osvaldo, mais uma vez muito obrigado pela participação.
Esse procedimento eu farei esporadicamente. No caso agora é que eu tenho uma outra planilha sem o macro, ai estou migrando os dados para essa com a formula que você me enviou.

Re: Macro dá erro ao copiar/colar/apagar várias células

Enviado: 09 Mar 2017 às 11:13
por Henrique
ttorres escreveu:Olá Henrique, muito obrigado por toda colaboração.

Como faço para que a DATA fique no formato dia/mes/ano, pois apesar de ter selecionado a célula como data abreviada, ela está inserindo o mês primeiro (mês/dia/ano)

Outra coisa, quando eu apago o valor da CELULA DA CAIXATIPOS não está apagando na coluna DATAS

Application.Intersect(Target.EntireRow, Range("Data")).Value = Format(Now(), "mm/dd/yyyy")

Macro dá erro ao copiar/colar/apagar várias células

Enviado: 09 Mar 2017 às 11:20
por ttorres
Henrique escreveu:
ttorres escreveu:Olá Henrique, muito obrigado por toda colaboração.

Como faço para que a DATA fique no formato dia/mes/ano, pois apesar de ter selecionado a célula como data abreviada, ela está inserindo o mês primeiro (mês/dia/ano)

Outra coisa, quando eu apago o valor da CELULA DA CAIXATIPOS não está apagando na coluna DATAS

Application.Intersect(Target.EntireRow, Range("Data")).Value = Format(Now(), "mm/dd/yyyy")
Olá Henrique agora a Data apareceu no formato DIA/MÊS/ANO.
Antes não estava apagando, agora está... não sei o que houve.

A fórmula funcionou. Quando fiz a migração de dados da outra planilha não deu mais o erro, só não preencheu todos os dados.