3

次のことを行う Excel マクロを作成しようとしています。

  1. ドキュメントの最後に改行を入力してください

  2. 上のセルから数式をコピーします

これまでのところ、私はこれを持っています:

    Sub New_Delta()

    ' Go to last cell
    Range("A4").Select
    Selection.End(xlDown).Select
    LastCell = [A65536].End(xlUp).Offset(-1, 0).Address
    Range(LastCell).Select

    ' Enter new line
    Selection.EntireRow.Insert Shift:=xlUp, CopyOrigin:=xlFormatFromLeftOrAbove

    ' Copy formula from cell above
    Dim oCell As Range
        For Each oCell In Selection
            If (oCell.Value = "") Then
            oCell.Offset(-1, 0).Copy Destination:=oCell
            End If
        Next oCell

End Sub

これにより、最初のセル「A」の数式がコピーされますが、次のセルはコピーされません

私は何かをしたいしSelection.Offset(0, 1).Select、それを「K」まで繰り返します(できれば「G」と「H」なしで)

しかし、私は立ち往生しており、本当に助けが必要です。

編集:私はこのようなものが欲しい(非動作擬似コード)

    ' Copy formula from cell above
Dim oCell As Range
        While (oCell.Offset(-1, 0).Value != "") ' If the cell above is not empty
        oCell.Offset(-1, 0).Copy Destination:=oCell ' Copy the formula from the cell above
        Selection.Offset(0, 1).Select ' Move one cell to the right
4

1 に答える 1

8

前の行を新しい行にコピー/挿入するだけです

Sub New_Delta()

  ' Go to last cell
  Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Select

  ' Copy formula from cell above
  Rows(Selection.Row - 1).Copy
  Rows(Selection.Row).Insert Shift:=xlDown

End Sub
于 2013-10-09T11:40:34.657 に答える