在Excel中创建一个按钮以清除数据字段并将前一行保存在文档的其他位置

时间:2013-06-28 14:58:48

标签: excel-vba excel-2010 vba excel

我是这个论坛的新手,刚开始学习编程。我有一个问题,希望对其他人也有用。我将数据保存在两列和30行中,最后是底部每列的总和。

我想要做的是创建一个VB程序,它保存Sum,将该值移动到新行,然后清除所有以前的数据,以便可以重新输入并再次保存在新位置。

该程序将用于每月跟踪储存罐中蒸汽的排放,并且每月输入数据我希望可以保存特定于该月的数据,然后清除并准备将数据输入下一个月月。感谢您提供的任何帮助或想法。

这是我到目前为止提出的代码,

Sub Macro4()
    Range("F15").Select
    ActiveWindow.SmallScroll Down:=15
    Range("C30:D30").Select
    Selection.Copy
    Range("C33").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Range("C33").Select
End Sub

Sub Button2_Click()
    ActiveWindow.SmallScroll Down:=18
    Range("C30:D30").Select
    Selection.Copy
    Range("C33").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("C28:D29").Select
    Range("D29").Activate
    Application.CutCopyMode = False
    Range("C2:D29").Select
    Range("D29").Activate
    Selection.ClearContents
End Sub

1 个答案:

答案 0 :(得分:0)

这样的事情应该有用(调整范围以适应)

Sub Button2_Click()
    Dim rngDest as Range

    With ActiveSheet
       'find next empty row
        Set rngDest= .cells(rows.count,3).end(xlup).offset(1,0)

        'copy values
        rngDest.resize(1,2).value= .Range("C30:D30").Value    

        'clear input range
         .Range("C28:D29").ClearContents
    End With
End Sub