因有大量数据要用vba写入excel不连续的单元格,速度较慢,想问一下有没有较快的方法?

因有大量数据要用vba写入excel不连续的单元格,速度较慢,想问一下有没有较快的方法?
with Application
.EnableEvents = False
.ScreenUpdating = False
.DisplayAlerts = False

With Sheet1
.Range("e7") = Obj(1) '姓名
.Range("h7") = Obj(2) '性别
.Range("f8") = Obj(3) '生日
.Range("j7") = Obj(4) '工作单位
.Range("k8") =Obj(5) '员工号
.Range("m8") = Obj(9) '电话
.Range("d6") = "批准时间"
.Range("D13") = Obj(24)
.Range("f9") = Obj(26) & Obj(22) '经办人+时间
.Range("f24") = YYYY2 & "]第 " & CC & " 号"
.Range("c29") = Obj(2) & " 同志:"
.Range("d31") = "经我单位审查,于 " & YYYY & " 年 "
.Range("c33") = MM & " 月 " & DD & " 日批准,并报上级备案。现特通知,希"
.Range("j46") = Format(Obj(18), "&&&&年&&月&&日")
End With
.EnableEvents = true
.ScreenUpdating = true
.DisplayAlerts = true
End With
====================================================原表涉密是不能传的,但数据位置已经给出,说一个思路并给出代码即可。我也知道可以用二维数组的方式一次性写入,但问题是数据位置并不连续。有没有类似这个一次性写入的方法?.Cells(I, 1).Resize(1, 3) = Array(Obj(19), DateArr(9), ss) '生成水平一维数组并写入目标区域 '.

可以采用二维数组的方式一次性写入表格,你最好把你的原表格传上来,这个需要看你的表格当中的数据位置与结构追问

原表涉密是不能传的,但数据位置已经给出,说一个思路并给出代码即可。我也知道可以用二维数组的方式一次性写入,但问题是数据位置并不连续

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-11-16
用VBA字典,或者SQL看能不能解决。追问

你这样的回答等于吃多番薯……

追答

哈哈

思路很重要

相似回答