|
楼主 |
发表于 2012-6-5 04:18
|
显示全部楼层
本帖最后由 引子玄 于 2012-7-7 13:04 编辑
5000列一次,重复三次填充完成,彻底解决了卡机的难题.(不用15000行在一个表内填充的做法.如果2万行,就重复4次,依此类推重复下去,反正是VBA自动化,次数多下完成总比卡机强!){:soso_e203:}{:soso_e203:}{:soso_e203:}
Sub 分步1()
Application.Run "透视.xls!ThisWorkbook.表格下方区域文本定位"
Range("A4").Select
ActiveSheet.Range(Selection, Selection.End(xlToRight)).Offset(9994, 0).Select
Selection.Resize(Selection.Rows.Count + 4997, Selection.Columns.Count).Select
End Sub
Sub 分步2()
Range("A4").Select
ActiveSheet.Range(Selection, Selection.End(xlToRight)).Offset(4999, 0).Select
Selection.Resize(Selection.Rows.Count + 4994, Selection.Columns.Count).Select
End Sub
Sub 分步3()
Range("A4").Select
ActiveSheet.Range(Selection, Selection.End(xlToRight)).Offset(4, 0).Select
Selection.Resize(Selection.Rows.Count + 4994, Selection.Columns.Count).Select
End Sub
Sub 填充分步123()
Selection.Copy
Sheets("Sheet4").Select
Range("A6").Select
ActiveSheet.Paste
Selection.SpecialCells(xlCellTypeBlanks).Select
Application.CutCopyMode = False
Selection.FormulaR1C1 = "=R[3]C"
End Sub
Sub 分步23前清理()
Rows("6:8").Select
Selection.Copy
Rows("5001:5003").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Rows("6:5000").Select
Range("A6").Activate
Application.CutCopyMode = False
Selection.ClearContents
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
End Sub
==========>>>后记:解决答案在巧用Set wb = Nothing 优化动作进程(省略步骤)
|
|