我试图从表2获取信息到表1

时间:2014-01-29 17:25:01

标签: excel vba

我有一个复杂的工作簿,我试图从其中一个工作表中获取信息并使用IF函数或VLOOKUP放入新工作表但我似乎无法使其工作。

示例:

表1: 我有来自B14:B47的空细胞和C14中的空细胞:C47

表2: 我在C13:C84的单元格中的名称全部按字母顺序排列,(没有一个相同)。

H13中的空单元格:H84

该表将显示人们将在该区域工作多少小时

欲输入的小时的量成上纸2的小区其间的H13:H84和用于片材1拿起的小时数,并将其放置到C14:C47,在他顶部作为一个列表(有惯于是一个完整的清单),并在表2中的行上匹配的名称被拾取并放入B14:B47,以及列表的顶部。

所以澄清一下: Joe Bloggs在第2页的C14中 他已经工作了8个小时,我将把它输入到他的名字H14旁边的单元格中,

我希望表单1能够找到他的名字旁边有一个数字,并将他的名字放在第1页的B14和第1页的C14以及该括号和范围内的任何其他人中。

我希望这是有道理的,因为我已经到了这个时候。 : - )

1 个答案:

答案 0 :(得分:0)

您想将Sheet2(C:C)复制到Sheet1(B:B)和Sheet2(H:H)复制到Sheet1(C:C)? 正如@ sr28所说,如果你想忽略空单元格,那就不清楚了......

如果您只想复制,请使用:

Sub copyData()

Dim Count As Integer

Count = Worksheets("Sheet2").Range("C2").End(xlDown).Row  'find last row from column C on sheet2
ActiveWorkbook.Sheets("Sheet2").Activate

For i = 1 To Count
    Sheet1.Cells(i, 2) = Sheet2.Cells(i, 3)
    Sheet1.Cells(i, 3) = Sheet2.Cells(i, 8)
Next i

End Sub

如果要忽略Sheet2.H上的空白单元格,可以使用:

Sub copyDataNoEmpty()

Dim Count As Integer
Dim j As Integer

Count = Worksheets("Sheet2").Range("C2").End(xlDown).Row  

j = 1
For i = 1 To Count
    If Sheet2.Cells(i, 8) <> Empty Then
        Sheet1.Cells(j, 2) = Sheet2.Cells(i, 3)
        Sheet1.Cells(j, 3) = Sheet2.Cells(i, 8)
        j = j + 1
    End If
Next i

End Sub