循环复制我的公式,直到我行的最后一个单元格

Loop that replicate my formula until last cell of my row

我的目标是有一个公式,用前面的问题填充空单元格,直到最后一个非空单元格(见图)

范围是我行的最后一个非空单元格。

现在我的代码如下所示:

Sub Range_End_Exemple()
    
    Dim cell_target As Range
    ActiveCell.FormulaR1C1 = "=+IF(ISBLANK(R[-2]C)=TRUE,RC[-1],R[-2]C)"
    
    Set cell_target = Worksheets("dataset Feedback forms").Range(Cells(1, Columns.Count).End(xlToLeft).Select Type:xlFillDefault
    
End Sub

感谢您的帮助,如果您有任何建议。

这将执行您希望从图像中得到的结果:

Sub Propagate()
    Dim lastCol As Integer
    With Worksheets("dataset Feedback forms")
        lastCol = .Cells(2, .Columns.Count).End(xlToLeft).Column
        With .Cells(1, 4).Resize(1, lastCol - (4 - 1)).SpecialCells(xlCellTypeBlanks)
            .FormulaR1C1 = "=RC[-1]"
            .Value2 = .Value2
        End With
    End With
End Sub

所以我会想象这样的事情:

lrow = Cells.Find("*", Cells(1, 1), xlValues, xlPart, xlByColumns, xlPrevious, False).Column ' <-- this gives you the last column blank

nextblank = Cells.Find("", Cells(1, 1), xlFormulas, xlByColumns, xlNext, False).Column ' <-- this gives you the FIRST blank column number

ltr = Split(Cells(1, nextblank - 1).Address, "$")(1) ' <-- this gives you the letter

aux = Range(ltr & "1") ' <-- this is the value you need to copy

在第一个 nextblank 语句之后,您需要使用它来迭代

nextblank = Cells.Find("", Cells(1, nextblank), xlFormulas, xlByColumns, xlNext, False).Column

使用这些值 -> lrow 不会改变,它是你的最终目的地

复制后 nextblank、ltr 和 aux 值发生变化

希望对您有所帮助!

下面的子内容仅基于您所附的图片。

Sub test()
Dim LastCol As Range
Dim rg As Range
Dim cell As Range

With ActiveSheet
Set LastCol = .Cells(2, Columns.Count).End(xlToLeft).Offset(-1, 0)
Set rg = .Range("D1", LastCol)
    For Each cell In rg.SpecialCells(xlCellTypeConstants)
        If cell.End(xlToRight).Column = .Columns.Count Then
            Range(cell, LastCol).Value = cell.Value
        Else
            Range(cell, cell.End(xlToRight).Offset(0, -1)).Value = cell.Value
        End If
    Next
End With

End Sub

代码假定“header-2”中没有任何变化。
“header-1”将从单元格 D1 开始。
有多少“header-1 类型”未知。
“header-2”中使用的最后一列未知。

过程:
它获取“header-2”中使用的最后一列的单元格,然后将该行偏移到 -1,然后将其作为 LastCol 变量。 LastCol 单元格用于标记“header-1”的结尾。

然后它将“header-1”的范围获取到 rg 变量中。

然后它循环具有值的 rg 的单元格,
将单元格复制到右边的最后一个空单元格(在下一个 header 类型的“header-1”之前)。

由于最后一个 header 类型的“header-1”将没有边框,因此它将检查右侧最后一个空单元格列的值是否 = 工作表列计数 .. . 然后它使用 LastCol 变量作为边框。

根据看到你的图片附件,我无法理解你想要的是:你为你的“header-1”使用了一个公式?