明らかに私はVBAの最初のマクロ(そして私は爆発的なものでした)毎回クラッシュします。どのように私はそれをより効率的に実行できるようにするためのヒントがありますか?マクロは実行されますが、あまりうまく行かず、通常はクラッシュします(私のPC全体と一緒に)
PS - 私は特別なペーストを行う必要があります/ので(数式を持っていた)空白のセルは私ができるの操作で非ブランクとして
Sub DTC_Generator()
Application.EnableEvents = False 'Prevents screen from moving through cells/events'
Application.ScreenUpdating = False 'Prevents screen from tabbing'
Application.CutCopyMode = False 'prevents gray residue after copy/paste'
Application.DisplayStatusBar = False
'LOOP RANGE
Dim A As Integer
Lstrow = Sheet4.Range("A" & Rows.Count).End(xlUp).Row
For A = 2 To Lstrow
Sheet4.Activate
Range("A2").End(xlDown).Select
Lstrow = ActiveCell.Row
Cells(A, 1).Copy
Range("L1").Activate
ActiveCell.PasteSpecial Paste:=xlPasteValues
'BEGIN MACRO
'PASTE PRE-GENERATOR ATTRIBUTES
Sheet4.Activate
Range("AA2:AL36").Delete
Range("M2:X36").Copy
Range("AA2:AL36").PasteSpecial Paste:=xlPasteValues
Range("AA2:AL36").Copy
Sheet7.Activate
Range("A2").PasteSpecial Paste:=xlPasteValues
Range("A2:AL36").Select
Selection.Replace What:="", Replacement:="£", LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Range("A2:AL36").Select
Selection.Replace What:="£", Replacement:="", LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'DElETE OLD DATA
'SELECT ATTRIBUTE DATA
Sheet7.Activate
Range("M2").Select
'Loops through unique values until "no"
Do Until ActiveCell = "No"
ActiveCell.Offset(1, 0).Select
Loop
'bumps it back 1 row and over 19 columns'
ActiveCell.Offset(-1, 19).Select
ActiveCell.Name = "Bottom_Left"
Range("BH2:Bottom_Left").Copy
'PASTE INTO ATTRIBUTE INPUT FILE'
Sheet2.Activate
Range("A:A").End(xlDown).Offset(1, 0).Select
Lastrow = ActiveCell.Row
Cells(Lastrow, 1).PasteSpecial Paste:=xlPasteValues
Next A
MsgBox ("success?")
End Sub
http://stackoverflow.com/documentation/excel-vba/1107/vba-best-practices/9292/avoid-using-select-or-activate – Slai