Excel宏 - 根据其他列的值获取一列的值

时间:2017-04-24 10:44:23

标签: excel-vba vba excel

如果B列中存在值,我需要一个宏来写入A列中存在的行值。

例如:

Column A   Column B
Arjun
Arun         12

对于上面的例子,我需要一个可以写" Arun 12"在工作簿的Sheet2中使用Headers" Name"和"小时"。在此之前,宏应该完全清除Sheet 2中的数据。

2 个答案:

答案 0 :(得分:1)

如果B不是Null字符串,这将从Sheet1复制到列A和B的所有行。并且还会添加标题" Name"和"小时"。

public MainWindow()
{            
    InitializeComponent(); //init componenets 
    VMI = new viewModeImage();
    VMI.ImagePlayButton = Consts.IMAGE_PLAY_BUTTON;                  
    this.btnStart.DataContext = VMI;
}

答案 1 :(得分:0)

这应该完成你所追求的目标。

Sub DoStuff()

Dim lastRow As integer, lastRowSheet2 As integer, i As Integer
Dim sheet1 As WorkSheet, sheet2 As Worksheet

Set sheet1 = Sheets("Sheet1")
Set sheet2 = Sheets("Sheet2")

lastRow = sheet1.Range("A" & Rows.Count).End(xlUp).Row

sheet2.Cells.Clear

For i = 1 To lastRow

If sheet1.Range("A" & i).Value <> "" And sheet1.Range("B" & i).Value <> "" then

    lastRowSheet2 = sheet2.Range("A" & Rows.Count).End(xlUp).Row

    sheet1.Range("A" & i & ":B" & i).Copy Destination:= sheet2.Range("A" & lastRowSheet2 + 1)

End If

Next i

End Sub