将值复制到下一个空单元格

时间:2017-10-04 09:01:22

标签: excel vba excel-vba

我想找到空单元格并复制值:

enter image description here

值:“10/11/2017”和“是”应复制到第7行(colB& colC)。

我有什么:

Sub add_value()

Dim wbA As Workbook
Dim wsA As Worksheet

Set wbA = ActiveWorkbook
Set wsA = wbA.Worksheets("Sheet1")

Dim nrow As Long

nrow = 6

    Do Until wsA.Range("B" & nrow).Value = ""
        wsA.Range("B" & nrow).Value = wsA.Range("B3").Value
        wsA.Range("C" & nrow).Value = wsA.Range("C3").Value
            Exit Sub
        nrow = nrow + 1
    Loop

End Sub

我的循环出了问题,我不知道如何修复它。

2 个答案:

答案 0 :(得分:2)

在找到空行之前,无需循环遍历行。您可以用以下内容替换整个子:

Sub add_value()
    With ThisWorkbook.Worksheets("Sheet1")
        .Cells(.Rows.Count, "B").End(xlUp).Offset(1, 0).Resize(1, 2).Value = .Range("B3:C3").Value
    End With
End Sub

根据您的评论,为了添加边框,您可以重新组织代码:

Sub add_value()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets("Sheet1")

    With ws.Cells(ws.Rows.Count, "B").End(xlUp).Offset(1, 0).Resize(1, 2)
        .Value = ws.Range("B3:C3").Value
        .Borders(xlEdgeLeft).LineStyle = xlContinuous
    End With
End Sub

答案 1 :(得分:0)

我会做这样的事情:

B3

它为您提供了最后一行,您将其增加为1,并在此行上写下C3_id值。