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

时间:2015-01-02 21:11:35

标签: excel excel-vba copy-paste vba

我正在尝试创建一个宏,它将先前单元格的值复制/粘贴或重复到下一个空白单元格中,直到新的单元格值,然后重复直到365个单元格的设定范围结束。 imgur链接中的以下示例尝试可视化我的意思,第二行是期望的结果。

http://imgur.com/uATxns8

2 个答案:

答案 0 :(得分:0)

除非我误解你,否则使用公式很容易。 VBA会有点矫枉过正。

单元格A2中的公式为=A1。单元格B2中的公式只是=IF(B1="",A2,B1),它只是读取单元格B1是否为空,它们使用单​​元格A2中的值,否则如果B1不为空,则使用B1中的值。然后,只要您的参考值如第1行中所示,在图像中,您就可以在第2行中复制此公式。

enter image description here

答案 1 :(得分:0)

这是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

Screeshot