Existe uma maneira que o valor de dados inserido na célula F58 possa ser automaticamente adicionado à próxima célula vazia na coluna F?

1

Eu tenho uma planilha na qual eu insiro um valor nas células F58 e F59 diariamente.

Em F81 é o começo de uma coluna de células contendo o valor da célula F59 para cada dia dado.

    F   
58  390.74  Dynamic Data

81  366.07  Static Data
82  363.98  
83  362.17  
84  360.74  
85  364.25  
86  363.5   
87  362.93  
88  365.05  
89  365.79  
90  368.56  
91  368.89  
92  368.32  
93  364.1   
94  ??????  Next Empty Cell

Existe uma maneira que o valor de dados inserido na célula F58 pode ser adicionado automaticamente à próxima célula vazia na coluna F?

    
por Loof 29.11.2012 / 16:17

2 respostas

0

Você pode escrever uma macro do Excel simples para fazer isso (pesquisar no google para ver os existentes) ou apenas usar alguns atalhos de teclas de atalho do Excel.  + (a tecla "end") seguida da tecla "seta para baixo" (ou tecla do cursor) Isso vai saltar para o final de um espaço de coluna. Como há espaço entre o f58 e a coluna abaixo, você terá que pressionar essas teclas duas vezes. Então, uma vez na parte inferior da coluna, (enquanto seu dedo ainda estiver na tecla de seta), pressione a tecla de seta mais uma vez para mover para o espaço em branco. Claro, antes de mover, copie o valor da célula com ctrl-C e cole-o na célula vazia com ctrl-V.

O número de pressionamentos de tecla para fazer isso é mais do que evocar uma macro personalizada, mas mais portátil e coloca seu cérebro / seus dedos na zona certa para ser um usuário de velocidade do Excel.

    
por 29.11.2012 / 17:31
0

Para fazer isso automaticamente, acredito que você precisará do VBA. A maneira que eu sugiro implementar isso é usar o evento Worksheet_Change. Para fazer isso, abra o editor VBA no Excel pressionando Alt + F11 . A partir daí, localize a planilha que você está editando na lista de objetos do Microsoft Excel no lado esquerdo da janela e clique duas vezes nela.

Emseguida,coleoseguintecódigonacaixadetextoqueseabreàdireita(comonafotoacima).

PrivateSubWorksheet_Change(ByValTargetAsRange)IfNotIntersect(Target,Me.Range("F58")) Is Nothing Then
    Range("F81").End(xlDown).Offset(1, 0) = Range("F58").Value
End If
End Sub

Isso funcionará desde que você tenha pelo menos dois itens na lista, começando em F81 . Esse código será executado toda vez que você fizer uma alteração nessa planilha específica. Ele verificará se a alteração foi feita em F58 . Se não, não fará nada; Nesse caso, ele adicionará o valor de F58 ao final da lista, começando em F81 .

    
por 30.11.2012 / 19:29