我用了一个循环语句来筛选特定的值,但运行起来需要好几秒钟,怎样修改才能加快计算机的速度?或者用其他语句来替代也行。
Dim iRow As Long, iRowNew As Long
iRowNew = 5
For iRow = 3 To 500
If Sheets("员工档案").Cells(iRow, 15) = 1 Then
Sheets("出勤表").Cells(iRowNew, 1) = Sheets("员工档案").Cells(iRow, 1)
iRowNew = iRowNew + 1
End If
Next
Excell vba 问题
答案:2 悬赏:0 手机版
解决时间 2021-02-11 15:10
- 提问者网友:夢醒日落
- 2021-02-11 05:37
最佳答案
- 五星知识达人网友:未来江山和你
- 2021-02-11 05:55
--这样也要几秒,可是当你的数据有上万条以上,你那个循环写法会跑很久很久的
sheets("员工档案").select
Rows("1:1").Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$H$50000").AutoFilter Field:=15, Criteria1:="1"
Range("A1").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Copy
sheets("出勤表").select
range("A1").select
ActiveSheet.Paste
sheets("员工档案").select
Rows("1:1").Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$H$50000").AutoFilter Field:=15, Criteria1:="1"
Range("A1").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Copy
sheets("出勤表").select
range("A1").select
ActiveSheet.Paste
全部回答
- 1楼网友:等灯
- 2021-02-11 06:44
问题不够具体,所以代码只能大概的给,你需要根据自己需要做些改动,注释我都写上了,改起来也不是很难。代码如下:
sub 批量插入批注()
dim rng as range, cell as range
set rng = range("a1:e9") '设定作用区域
for each cell in rng
if not cell.comment is nothing then cell.comment.delete '删除单元格已有批注,应根据需要修改处理方案
with cell.addcomment
.visible = false '默认隐藏批注
.text text:="搜veryexcel群交流" '设置批注文本内容
.shape.fill.userpicture "e:\1.jpg" '设置图片背景,应根据需要加入条件
end with
next
end sub
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯