Página 1 de 1

Mover o valor digitado para a esquerda.

Enviado: 24 Mai 2016 às 16:01
por GENECI
Boa tarde!

Tenho a seguinte dúvida.

Na célula N2 tenho o número 54, na célula N2 vou substituir o número 54 pelo número 914.
Necessito que o número 54 seja movido para a célula a esquerda M2 e o número 914 permaneça.
Após vou substituir o número 914 pelo número 5670.
Então o número 54 será movido para a L2, e o número 54 passa para a célula M2 e o número 5670 fica na célula N2.
Até chegar na célula C1.
E assim segue digitando sempre na célula N2 o número desejado e movendo para a esquerda até a quantidade de 12 números digitados e substituídos na célula N12.
Em outras palavras vou digitar sempre na célula N12 e quando teclar enter o valor digitado anterior fica registrado na célula a esquerda até a quantidade de 12 números.
Que corresponde 12 meses.


Obrigado - GENECI.

Mover o valor digitado para a esquerda.

Enviado: 24 Mai 2016 às 16:13
por Parkeless
Olá Geneci!

Qual é o seu objetivo final, facilitar o preenchimento de dados em uma planilha? Consegue postar um modelo?

Dependendo do que você tiver em mente, mover os dados para a esquerda pode não ser a melhor opção...

Mover o valor digitado para a esquerda.

Enviado: 25 Mai 2016 às 12:08
por GENECI
É a opção mais simples e prática para atender a minha necessidade.

Muito - Obrigado.

GENECI.

Mover o valor digitado para a esquerda.

Enviado: 27 Mai 2016 às 10:52
por Parkeless
Segue... código na worksheet, não em um módulo:
Código: Selecionar todos
Public IsMacro As Boolean

Private Sub Worksheet_Change(ByVal Target As Range)
Dim NewInserção
Dim OldInserção
Dim PrimeiroDado As Range
Dim i As Long

If IsMacro = True Then: Exit Sub
If Target.Address <> "$N$2" Then: Exit Sub
If Target = "" Then: Exit Sub



IsMacro = True
Application.ScreenUpdating = False
NewInserção = Target.Value

Application.Undo

OldInserção = Target.Value
'Target.Value = NewInserção

'Identificar primeira coluna preenchida
For i = 3 To 14 'colunas C até N
    If Cells(2, i) <> "" Then
        Set PrimeiroDado = Cells(2, i)
        Exit For
    End If
Next i

If PrimeiroDado Is Nothing Then: Set PrimeiroDado = Range("N2")

Range(PrimeiroDado, Range("N2")).Copy
PrimeiroDado.Offset(0, -1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
Application.CutCopyMode = False

Range("N2") = NewInserção

Range("N2").Activate

IsMacro = False
Application.ScreenUpdating = True

End Sub

Anexa aplicação.

Mover o valor digitado para a esquerda.

Enviado: 28 Mai 2016 às 10:02
por GENECI
Bom dia!

Muito obrigado.

A resposta satisfaz e atende a minha necessidade.

Grato - GENECI.