复制某些条件的值

时间:2015-03-27 01:50:37

标签: excel vba excel-vba

A列中的数字1到10以及 B列中的name。我想要完成的是检查单元格B2中的name,如果为空,则它会将数字从单元格A2复制到单元格H2。但是如果单元格B2已经包含一个名称,那么它会将数字从单元格A3复制到单元格H2,依此类推。

这是我的代码:

Private Sub CommandButton1_Click()
If IsEmpty(Range("B2")) Then
    Range("A2").Copy destination:=Range("H2")
Else
    Worksheets("sheet6").Cells(Rows.Count, 1).End(xlUp).Offset(0, 1).Copy _
        destination:=Range("H2")
End If
End Sub

1 个答案:

答案 0 :(得分:1)

试试这个:

With Sheets("SheetName")
    .Range("B:B").Find(vbNullString, [B1]).Offset(0, -1).Copy _
        Destination:=.Range("H2")
End With

这将找到B1之后的第一个空白单元格,然后将其在A中的相应值复制到H2。

编辑1:如果H2位于其他工作簿中

Dim otherWB As Workbook ' always declare variable
Set otherWB = Workbooks("WorkbookName.xlsx") ' or whatever name you got

With Sheets("SheetName")
    .Range("B:B").Find(vbNullString, [B1]).Offset(0, -1).Copy _
        Destination:=otherWB.Sheets("OtherSheetName").Range("H2")
End With
相关问题