所以我必须利用目前正在做这个循环的一些代码,它需要大约6分钟,运行...从2点不同的工作簿
我有很多表显示了一些不同的同一列数据。 一列以命名形式或数字形式出现(取决于用户将其输入到完全独立的数据库的方式)。
另一个数据库包含2列:一个是数据的数字形式,而另一个被命名。如果数值在这个其他数据库的数值列,
我的数据库目前比较我的“名称”列当它找到一个匹配它改变了我的“名字”细胞到相应的名称单元格中的其他数据库相匹配。
有没有更快的方式做到这一点不是使用循环? 我不得不为12个不同的工作表复制代码,以完成相同的任务。
如前所述,整体在所有12其采取运行6分钟左右
Sub 6mincode()
Workbooks("1").Activate
N = Workbooks("1").Sheets("Data").Cells(Rows.Count, "B").End(xlUp).Row
N2 = Workbooks("2").Sheets("Data Sheet").Cells(Rows.Count, "B").End(xlUp).Row
For I = 2 To N
If (WorksheetFunction.IsNumber(Sheets("Data").Cells(I, "B").Value)) = True Then
For zz = 8 To N2
If StrComp(Sheets("Data").Cells(I, "B").Value, Workbooks("2").Sheets("Data Sheet").Cells(zz, "B").Value) = 0 Then
Workbooks("1").Sheets("Data").Cells(I, "B").Value = Workbooks("2").Sheets("Data Sheet").Cells(zz, "C").Value
End If
Next zz
End If
Next I
End Sub
是一个更快的方法是把一切都变成数据库表中 – jimmy8ball
我很乐意这样做,不过数据库来自各种来源的含各种不同的信息在不同的时间以不同的方式更新。我不能将它们全部结合起来 –