ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Worksheet Functions (https://www.excelbanter.com/excel-worksheet-functions/)
-   -   simplify a macro (https://www.excelbanter.com/excel-worksheet-functions/128602-simplify-macro.html)

Shooter

simplify a macro
 
My macro contains the following code:

Range ("I7:I1600).Value=Range ("H7:H1600).value
Range ("H7:H1600).Value=Range ("G7:G1600).value
Range ("G7:G1600).Value=Range ("F7:F1600).value
Range ("F7:F1600).Value=Range ("E7:E1600).value
End Sub

The above 4 lines of the macro is only a small portion of the entire macro.
The entire macro covers approximately 200 columns(F:GW) and thus the macro
needs to be 200 rows long.
Due to the consistency of the code, is there a way to substantially condence
the code to achieve the same result? Thanks for your help.
--
Shooter

vezerid

simplify a macro
 
Shooter,

is there a reason you cannot simply select cells F7:FW7 and issue
Insert|Cells...Shift cells down?

A VBA code for this is:

Sub insF7_GW7()
Application.DisplayAlerts = False
Range("f7:GW7").Insert xlShiftDown
Application.DisplayAlerts = True
End Sub

HTH
Kostis Vezerides

On Jan 31, 8:37 pm, Shooter wrote:
My macro contains the following code:

Range ("I7:I1600).Value=Range ("H7:H1600).value
Range ("H7:H1600).Value=Range ("G7:G1600).value
Range ("G7:G1600).Value=Range ("F7:F1600).value
Range ("F7:F1600).Value=Range ("E7:E1600).value
End Sub

The above 4 lines of the macro is only a small portion of the entire macro.
The entire macro covers approximately 200 columns(F:GW) and thus the macro
needs to be 200 rows long.
Due to the consistency of the code, is there a way to substantially condence
the code to achieve the same result? Thanks for your help.
--
Shooter




Dana DeLouis

simplify a macro
 
Maybe one option:

Sub Demo()
Dim C As Long

With Range("F7:GW1600")
For C = .Columns.Count To 2 Step -1
.Columns(C).Value = .Columns(C - 1).Value
Next C
End With
End Sub

--
HTH :)
Dana DeLouis
Windows XP & Office 2003


"Shooter" wrote in message
...
My macro contains the following code:

Range ("I7:I1600).Value=Range ("H7:H1600).value
Range ("H7:H1600).Value=Range ("G7:G1600).value
Range ("G7:G1600).Value=Range ("F7:F1600).value
Range ("F7:F1600).Value=Range ("E7:E1600).value
End Sub

The above 4 lines of the macro is only a small portion of the entire
macro.
The entire macro covers approximately 200 columns(F:GW) and thus the macro
needs to be 200 rows long.
Due to the consistency of the code, is there a way to substantially
condence
the code to achieve the same result? Thanks for your help.
--
Shooter




Duke Carey

simplify a macro
 
Why not use

range("F7:GW1600").Value=Range ("E7:GV1600").value


"Shooter" wrote:

My macro contains the following code:

Range ("I7:I1600).Value=Range ("H7:H1600).value
Range ("H7:H1600).Value=Range ("G7:G1600).value
Range ("G7:G1600).Value=Range ("F7:F1600).value
Range ("F7:F1600).Value=Range ("E7:E1600).value
End Sub

The above 4 lines of the macro is only a small portion of the entire macro.
The entire macro covers approximately 200 columns(F:GW) and thus the macro
needs to be 200 rows long.
Due to the consistency of the code, is there a way to substantially condence
the code to achieve the same result? Thanks for your help.
--
Shooter



All times are GMT +1. The time now is 09:54 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com