2013-07-18 174 views
2

我有一个包含两个工作表的工作簿。工作表“Sheet2”具有新月数据和工作表“审核分数”是我将数据复制到的工作表。我编写的代码假设检查“Sheet2”列c中的设备名称,并在“审核分数”中找到匹配的代码,然后从Sheet2列e中复制该值并将其粘贴到审核相应行中的最后一列分数。我遇到的问题是,“审计分数”中粘贴的值不是“Sheet2”中的正确值。希望这个错误是一个简单的错误,我只是盲目。在Excel VBA中没有正确粘贴的动态范围

下面的代码:

Sub newdata() 

Dim x As Variant, y As Long, z As Long, v As Date 

LRow = Cells(Rows.Count, 2).End(xlUp).Row 
Lcol = Cells(3, Columns.Count).End(xlToLeft).Column 
v = Date 
Worksheets("Audit scores").Activate 
Cells(1, Lcol + 1).EntireColumn.Insert 
Cells(1, Lcol + 1).Value = v 
For y = 1 To LRow 
    For z = 1 To LRow 
     If Cells(z, "C").Value = Worksheets("Audit scores").Cells(y, "C").Value Then 
      Worksheets("Sheet2").Cells(z, "E").Copy Destination:=Worksheets("Audit scores").Cells(y, Lcol + 1) 
     Else: 
     End If 
    Next z 
Next y 
End Sub 

感谢任何帮助,您可以给我。

回答

1

您已激活审核分数,但您的支票不会检查Sheet2。

If Cells(z, "C").Value = Worksheets("Audit scores").Cells(y, "C").Value Then 

应该是

If Worksheets("Sheet2").Cells(z, "C").Value = _ 
    Worksheets("Audit scores").Cells(y, "C").Value Then 

(分离到2线对可读性)

+0

感谢您的帮助,即固定的一切。我认为这是我的一个简单的错误,导致整个表单被关闭。 – meverhart913