Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
#21074
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.
#21079
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.
#21081
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
#21083
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?
#21084
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
#21086
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.
#21088
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")
#21089
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.
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord