CTRL + D no Excel 2010 preenche valores e formatação, mas eu quero que ela preencha apenas valores / fórmulas

5

Quando você pressiona CTRL + D no Excel 2007 ou 2010 (e provavelmente versões mais antigas), ele faz uma cópia exata da célula acima dela (modificando referências de célula, é claro). Ao fazer isso, copia todo o resto, como formatação de fonte, preenchimentos e até bordas (ugh). Se eu pudesse simplesmente copiar o valor / forumula e apenas herdar a formatação da célula atual, seria incrível.

Atualização de 2014/08/01

Eu criei essa macro incrível. No entanto, a desvantagem de usar uma macro é que você perde a capacidade de desfazer. Eu sei que existe uma maneira de implementar a funcionalidade de desfazer com uma macro sem criar uma macro de desfazer. Eu fiz isso antes no Excel. Há uma maneira de dizer ao Excel para de alguma forma preservar o estado da pasta de trabalho para que a reversão seja realmente revertida. Essa é outra questão, que provavelmente terminarei postando.

Sub CtrlD()

Dim r As Range

Set r = Selection

Application.Union(r, r.Offset(-1, 0)).FillDown

End Sub

A menos que alguém saiba de uma abordagem mais nativa, o respondente receberá a pontuação.

    
por oscilatingcretin 13.05.2013 / 12:57

4 respostas

2

Você pode copiar apenas fórmulas e valores, deixando a formatação para trás usando o atalho de teclado Ctrl - ' - que é a tecla Ctrl e as aspas simples.

Ou você pode usar a alça de preenchimento para arrastar para baixo e, em seguida, selecionar a lista suspensa Opções de preenchimento automático com "Preencher sem formatação".

    
por 13.05.2013 / 13:52
1

Acontece que você pode fazer o equivalente ao teclado pressionando as seguintes teclas em seqüência: Alt , H , V , O , depois de copiar a fórmula desejada.

É um pouco complicado, mas basicamente você pode usá-lo como Ctrl + D .

Isso funciona porque leva você a "Colar fórmulas e formatação de números", o que eu acho que é basicamente o que você quer. Bordas e estilos de fonte não são carregados.

Provavelmente, há uma maneira de colocar isso como um botão na faixa de opções e atribuir a ele seu próprio atalho.

    
por 01.08.2014 / 08:28
0

Na faixa de opções: acesse a guia "Visualizar" - > unhide - > personal.xlsb - > Ok - > grave a nova macro - > Na caixa de diálogo: nome: "pasteVvalue" - > atalho "crtl + D" - > registro em "pasta macro pessoal" - > ok Use qualquer comando aleatório da faixa de opções - > interrompa a gravação - > macro de exibição: "pasteValue" - > apague todo o código vba entre a linha Sub pasteValue () e End sub insira o seguinte - > salvar

 Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False

De agora em diante, o crtl + d se comportará da maneira que você deseja (copiar valor ou fórmula na alteração de referências) em todos os arquivos do Excel que você estiver usando em seu computador.

    
por 13.05.2013 / 19:40
0

Esta macro captura a funcionalidade da resposta do teylyn (autopreencher sem formatação) no VBA, conforme inspirado no seu código:

Sub Extend_Content_From_Above()
    Dim above As Range

    For Each cur In Selection
        Set above = cur.Offset(-1, 0)
        above.AutoFill Destination:=Range(above, cur), Type:=xlFillValues
    Next cur
 End Sub

Observe que ele manipula explicitamente uma seleção de várias células, já que o tratamento nativo do Excel é arcano.

    
por 28.10.2015 / 01:51