Excel 宏将值插入到另一个单元格

Excel 宏将值插入到另一个单元格

好的,我需要一些有关 excel 的帮助,我是新手。我有一个电子表格,它将所有这些值加在一起并将它们放在单元格 M3 中。但是,这是我将要使用的日常电子表格,所以我想添加一个按钮,当我第一次单击它时,它将运行一个宏来将值从 M3 复制到 N7。但是下次我单击它时,我希望它将值从 M3 复制到 N8,依此类推,直到 N37,持续一个月。

我已经尝试完成这件事一段时间了,但似乎找不到任何可以帮助我的东西,所以我想在这里问一下,也希望有人能为我解释一下代码,这样我就能更好地理解它。我已经添加了按钮,所以不需要告诉我怎么做。

答案1

通过使用函数工具->宏->录制新宏...,您可以像以前一样(使用键盘和鼠标)进行所有操作,之后(停止记录)你可以看看生成宏代码。
这在很多情况下都能有所帮助。

如果您遇到任何特殊问题,请发布您的代码。

答案2

将任意形状或自选图形放在工作表上并为其分配此宏:

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

答案3

这就是你想要的。

当您运行 VBa 时,没有撤消,因此请先备份您的文件并使用副本进行操作!

请注意代码中的注释,这是您需要更新的内容

我还假设您没有使用 worksheet2,所以此代码使用它!

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

如何在 MS Office 中添加 VBA?

相关内容