0

私はこのフォーラムに不慣れで、プログラミングを学び始めたばかりです。うまくいけば他の人にも役立つ質問がありました。2 列と 30 行に保存されたデータがあり、最後に各列の合計が下部に表示されます。

私がやりたいことは、Sum を保存し、その値を新しい行に移動し、以前のデータをすべてクリアして、再入力して新しい場所に保存できるようにする VB プログラムを作成することです。

このプログラムは、貯蔵タンクからの蒸気の排出量を毎月追跡するために使用され、データは毎月入力されるため、その月に固有に保存してから、クリアして次の月にデータを入力する準備ができることを望んでいました. あなたが提供できる助けやアイデアをありがとう。

これは私がこれまでに思いついたコードです。

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
4

1 に答える 1

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
于 2013-07-01T16:54:49.573 に答える