나는 완벽하게 기능하는 일부 코드가 있지만 매우 부 풀린 것처럼 보입니다. 이 코드를 어떻게 능률화 할 수 있습니까? 내가 말했듯이Excel 멋지게 코드가 필요합니다. 도움이 필요합니다.
Sub RowDiv1()
Dim R1 As Range
Dim R2 As Range
Dim R3 As Range
Dim R4 As Range
Dim R5 As Range
Dim R6 As Range
Dim R7 As Range
Dim R8 As Range
With Worksheets("Working Sheet 1")
Set R1 = .Range(.Range("G6000").End(xlUp), .Range("AH6000").End(xlUp))
With R1
.Cells(1).Offset(1, -4).Resize(.Rows.Count, .Columns.Count) = .Value
.ClearContents
End With
Set R2 = .Range(.Range("G6000").End(xlUp), .Range("AD6000").End(xlUp))
With R2
.Cells(1).Offset(1, -4).Resize(.Rows.Count, .Columns.Count) = .Value
.ClearContents
End With
Set R3 = .Range(.Range("G6000").End(xlUp), .Range("Z6000").End(xlUp))
With R3
.Cells(1).Offset(1, -4).Resize(.Rows.Count, .Columns.Count) = .Value
.ClearContents
End With
Set R4 = .Range(.Range("G6000").End(xlUp), .Range("V6000").End(xlUp))
With R4
.Cells(1).Offset(1, -4).Resize(.Rows.Count, .Columns.Count) = .Value
.ClearContents
End With
Set R5 = .Range(.Range("G6000").End(xlUp), .Range("R6000").End(xlUp))
With R5
.Cells(1).Offset(1, -4).Resize(.Rows.Count, .Columns.Count) = .Value
.ClearContents
End With
Set R6 = .Range(.Range("G6000").End(xlUp), .Range("N6000").End(xlUp))
With R6
.Cells(1).Offset(1, -4).Resize(.Rows.Count, .Columns.Count) = .Value
.ClearContents
End With
Set R7 = .Range(.Range("G6000").End(xlUp), .Range("J6000").End(xlUp))
With R7
.Cells(1).Offset(1, -4).Resize(.Rows.Count, .Columns.Count) = .Value
.ClearContents
End With
End With
End Sub
,이 코드는 잘 작동하지만 그것은 단지 내가 달성하기 위해 노력하고 무엇을위한 매우 긴 것 같다.
귀하의 코드가해야 할 일을 알려주십시오. 따라서 대체 방법으로 알려 드릴 수 있습니다. –
** 작업 코드 **가 개선 될 것으로 생각되면 [codereview.se]를 참조하십시오. – jonrsharpe
일부 포인터는 다음 링크에서 찾을 수 있습니다. http://www.excelitems.com/2010/12/optimize-vba-code-for-faster-macros.html –