我有一个包含多列的工作表我想根据工作表中的条件复制某些列,并根据位置粘贴数据

时间:2016-04-28 17:59:00

标签: vba excel-vba excel

例如,在数据表列中命名的位置具有不同的位置。所以我想根据位置复制某个列。如果location =“A”,那么所有数据都将复制到表单“A”。

NAME         DOB       LOCATION PROGRAM Roll no
Rahul        5/19/1993  A         MD    45
Rohit        12/25/1964 B         DD    74
Kaushal      6/22/1985  C         FF    41
XYZ          12/7/1975  D         DD    78
AB           5/31/1990  E         AA    44
AB           4/25/1977  F         VV    45
B            7/2/1972   G         CC    44
D            9/23/1985  H         ZZ    44

1 个答案:

答案 0 :(得分:0)

现在急于抛光代码,但尝试这样的事情:

Dim lLastRow As Long
Dim i, k As Integer
Dim SheetName As String

Private Sub CopyData()
lLastRow = Worksheets("Data").Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row

For i = 2 To lLastRow
    SheetName = Worksheets("Data").Cells(i, 3)
    k = Worksheets(SheetName).Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row + 1
    Worksheets(SheetName).Cells(k, 1) = Worksheets("Data").Cells(i, 1)
Next
End Sub