Valor de inserção da macro do Excel em outra célula

0

Ok, estou precisando de ajuda com o Excel. Sou novo nisso. Eu tenho uma planilha que adiciona todos esses valores e os coloca na célula M3. No entanto, esta é uma planilha diária que eu vou usar, então eu quero adicionar um botão que irá executar uma macro para copiar o valor de M3 para N7 na primeira vez que eu clicar nele. Mas então, da próxima vez que eu clicar nele, eu quero copiar o valor de M3 para N8 e assim até N37 por um período de meses.

Eu tenho tentado fazer isso por algum tempo e parece que não consigo encontrar nada para me ajudar a pensar que gostaria de perguntar aqui e também espero que alguém explique o código um pouco para mim para que eu possa entender melhor. Eu tenho o botão já adicionado, então não precisa me dizer como fazer isso.

    
por Stephen Saulen 07.05.2015 / 15:00

3 respostas

2

Usando a função Ferramentas- > Macro- > Gravar nova macro ... , você pode fazer todas as suas operações como antes (com teclado e mouse) e depois disso ( stop record ) você pode dar uma olhada no macro-código gerado .
Isso pode ajudar em muitos casos.

Se você tiver algum problema especial, poste seu código.

    
por 07.05.2015 / 15:09
2

Coloque qualquer Shape ou AutoForma na planilha e atribua essa macro a ela:

Sub SaveResults()
    Dim N As Long
    If Range("N7").Value = "" Then
        N = 7
    Else
        N = Cells(Rows.Count, "N").End(xlUp).Row + 1
    End If
    Cells(N, "N").Value = Range("M3").Value
End Sub
    
por 07.05.2015 / 15:21
2

Isso faz o que você quer.

Quando você executa o VBa, não há como desfazer, então faça um backup do seu arquivo primeiro e brinque com uma cópia !!

Por favor, note os comentários no código, isso é coisas que você precisa atualizar

Eu também assumi que você não está usando worksheet2, então este código usa isso!

Option Explicit
Sub SaveAsNewRow()

Dim sourceData As String
sourceData = "A1"                          'the column and row from where you want to copy FROM

Dim destinationData As String
destinationData = "B"                          'the column from where you want to copy TO

Dim newRow As Integer
newRow = 1
Do While (Range(destinationData & newRow).Value <> "")
    newRow = newRow + 1
Loop

Worksheets("sheet1").Range("B" & newRow).Value = Worksheets("sheet1").Range(sourceData).Value

End Sub

Como eu adiciono o VBA no MS Office?

    
por 07.05.2015 / 15:09