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.
Por ttorres
Posts
#21220
Olá queridos, tudo bem?

Estou com uma fórmula com a ajuda de alguns companheiros aqui do fórum. Osvaldo e Henrique.
Porém, eu estou encontrando alguns problemas na hora de copiar e colar informações da coluna TIPO a MOEDA, também, quando eu vou adicionar a data na coluna DATA.

Estou enviando em anexo a planilha, para quem puder me ajudar.

EDIT: A função é para preencher a coluna DATAREGISTRO quando se seleciona alguma opção na lista suspensa da coluna TIPO.
Código: Selecionar todos
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("DATAREGISTRO")).Value = ""
Exit Sub
Else
Application.Intersect(Target.EntireRow, Range("DATAREGISTRO")).Value = Format(Now(), "dd/mm/yyyy")
End If
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Agradeço a todos.
Você não está autorizado a ver ou baixar esse anexo.
Por ttorres
Posts
#21237
Esse código abaixo, ele não está gerando o problema quando se adiciona a data na coluna data (NÃO COLUNA DATAREGISTRO).
Porém, se eu apagar os valores de tipo até moeda ele dá um erro, também o mesmo erro ao colar informações.
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
Também encontro erro se eu duplicar a informação da CAIXATIPOS.
Com o mouse arrastando para baixo.
Por osvaldomp
#21268
Sugestão - esqueça o código que você está utilizando e informe com exatidão o que você quer. O arquivo que você disponibilizou no primeiro post tem 4 planilhas, informe qual a planilha de interesse, quais as colunas, quais as células, quais os resultados desejados.

Acredito que seja mais fácil e menos trabalhoso escrever um novo código para a sua necessidade do que ficar tentando descobrir erros no seu código.
Por ttorres
Posts
#21269
Que bom Osvaldo ter sua participação.

Na Planilha que está para Download, é apenas PLANILHA CAIXA.

A minha necessidade é a seguinte:
Na Planilha Caixa eu gostaria que fosse preenchido automaticamente a coluna DATAREGISTRO (B11:B964) com a data atual (=agora()), quando fosse selecionado algum item da lista suspensa da coluna TIPO (D11:D964).

Lembrando, que:
Se o usuário apagar o conteúdo da coluna TIPO (D11:D964) deverá ser apagado também o conteúdo correspondente a linha na coluna DATAREGISTRO (B11:B964).
Por ttorres
Posts
#21270
Pessoal,
consegui a solução!!!

Segue abaixo a solução para quem deseja adicionar data em uma célula após preencher outra célula.


Set WorkRng = Intersect(Application.ActiveSheet.Range("A:A"), Target)
Intervalo que irá ser usado como referência para gerar a DATA

xOffsetColumn = 1
COLUNA PARA PREENCHIMENTO AUTOMÁTICO DA DATA
Se a coluna que irá receber as informações for A e você deseja inserir a data na coluna C então o valor será 2
Se a coluna que irá receber as informações for D e você deseja inserir a data na coluna B então o valor será -2
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
Dim WorkRng As Range
Dim Rng As Range
Dim xOffsetColumn As Integer
'ALTERAR A:A Para o intervalo que irá ser usado como referência para gerar a DATA
Set WorkRng = Intersect(Application.ActiveSheet.Range("A:A"), Target)
'Altere o valor 1 para a posição da coluna que irá receber a DATA ATUAL
xOffsetColumn = 1
If Not WorkRng Is Nothing Then
    Application.EnableEvents = False
    For Each Rng In WorkRng
        If Not VBA.IsEmpty(Rng.Value) Then
            Rng.Offset(0, xOffsetColumn).Value = Now
            Rng.Offset(0, xOffsetColumn).NumberFormat = "dd/mm/yyyy"
        Else
            Rng.Offset(0, xOffsetColumn).ClearContents
        End If
    Next
    Application.EnableEvents = True
End If
End Sub
Espero que essa solução ajude a todos.
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