将单元格值复制并粘贴到新的单元格值中,然后重复该过程

Copy and paste cell value into until new cell value then repeat the process

我正在尝试创建一个宏,它将 copy/paste 或将前一个单元格的值重复到下一个空白单元格中,直到出现新的单元格值,然后重复直到一组范围的末尾365 个细胞。下面的 imgur link 中的示例试图形象化我的意思,第二行是所需的结果。

http://imgur.com/uATxns8

除非我误解你了,这在 excel 中使用公式很容易。 VBA 太过分了。

单元格 A2 中的公式为 =A1。单元格 B2 中的公式只是 =IF(B1="",A2,B1),如果单元格 B1 为空,则使用单元格 A2 中的值,否则如果 B1 不为空,则使用 B1 中的值。然后,只要您的参考值与图像中第 1 行中的一样,您就可以将此公式复制到第 2 行中。

这是VBA中的解决方案。

Sub ReferAndRepeat()

Dim tempVal As String
Dim sheet As String

sheet = "Sheet1"   'Name your sheet here

    For lCol = 1 To 365
        If Sheets(sheet).Cells(1, lCol) <> "" Then
            tempVal = Sheets(sheet).Cells(1, lCol).Text
        End If

        Sheets(sheet).Cells(2, lCol) = tempVal
    Next lCol
End Sub