vba - 根据第三张纸中的某些条件将数据从一张纸复制到另一张纸?当我运行此代码时,Excel 有时会崩溃
问题描述
我目前正在处理 3 个文件:新文件 (Sht)- 在其中编写了宏,另外两个是 wsSource 和 wsDest。新文件中大约有 1000 行,wsSource 中大约有 1000 行。LastRowAT 是新文件的最后一行。LastRowKS 是 wsDest 的最后一行。代码匹配特定条件,然后根据这些条件,将数据从 wsSource 复制到 wsDest。现在,因为我使用的是 for 循环和嵌套的 if,所以有时 excel 会崩溃并且必须重新启动。我可以以任何方式优化这段代码,以减少运行时间,更重要的是不会崩溃吗?PS这只是样本数据。实际数据将涉及 wsSource 文件中的大约 100,000 行
For i = 2 To LastRowAT
If sht.Range("B" & i).Value = "Khusbhu Singh" And sht.Range("D" & i).Value = "Allocated" And sht.Range("C" & i).Value = Max_date Then
If sht.Range("A" & i).Value = Workbooks("CISF.xlsx").Worksheets("QUIDAM-INSURERS").Range("A" & i).Value Then
Set rngCopy = wsSource.Range("A" & i & ":V" & i)
rngCopy.Copy wsDest.Cells(LastRowKS, "I")
wsDest.Cells(LastRowKS, "I").Resize( _
rngCopy.Rows.Count, rngCopy.Columns.Count).Value = rngCopy.Value
wsDest.Range("A" & LastRowKS).Value = "Khusbhu Singh"
wsDest.Range("B" & LastRowKS).Value = Max_date
LastRowKS = LastRowKS + 1
End If
End If
Next i
解决方案
推荐阅读
- scala - 如何移动 RDD 中的元素?
- android - 如何在 android studio 的屏幕中使用回收站视图和相关布局
- parsing - 如何使我的 Go 解析器代码更具可读性
- mysql - MySQL GroupBy 在多列上的奇怪行为
- html - 如何将按钮放在输入旁边?
- reactjs - React with Redux - 回调函数被意外调用
- reactjs - 在 Gatsby Netlify 启动器中,使用自定义预览组件、不可变 entry.getIn 和 widgetsFor 从列表中返回空对象
- django - 在 Django 中按优先级提供行
- pandas - 如何从标签列表中为熊猫图设置 xticks?
- button - 无法更新按钮显示数据