Brend0n
03-06-2013, 09:16 PM
Hi guys, Im turning to google and you guys as my boss is on leave.
I'm using excel 2003.
I have written a macro which basically get data from a large spreadsheet and inserts it into a standard template.
basically there a some rows I don't want to go through the loop as the require manual massaging, i have marked these rows with an "X" in column 2 (B), all others have been left blank.
See below for what I've got so far
Sub Macro1()
' Macro1 Macro
' Macro recorded 6/03/2013
'Set your variables
Dim Filename_A As String
Dim Filename_B As String
Dim Filename_C As String
Dim Filename_All As String
Dim AccUse_97 As Single
Dim AccUse_98 As Single
Dim AccUse_99 As Single
Dim AccUse_00 As Single
Dim AccUse_01 As Single
Dim AccUse_02 As Single
Dim AccUse_03 As Single
Dim AccUse_04 As Single
Dim AccUse_05 As Single
Dim AccUse_06 As Single
Dim AccUse_07 As Single
Dim AccUse_08 As Single
Dim AccUse_09 As Single
Dim AccUse_10 As Single
Dim lCount As Integer
Dim lNum As Integer
Dim i As Integer
'start
Range("C7").Select
i = 1
'loop
For lCount = 1 To 309
Workbooks("NAME.xls").Activate
Selection.Offset(1, 0).Select
' Assign data/values to variable
Filename_A = Selection.Offset(0, 1).Value
Filename_B = Selection.Offset(0, 2).Value
Filename_C = Selection.Offset(0, 3).Value
Filename_All = Filename_A & "_" & Filename_B & "_" & Filename_C
' Client information
Section = Selection.Offset(0, 1).Value
Licence = Selection.Offset(0, 2).Value
Client = Selection.Offset(0, 3).Value
Nom_Ent = Selection.Offset(0, 4).Value
AccUse_97 = Selection.Offset(0, 6).Value
AccUse_98 = Selection.Offset(0, 19).Value
AccUse_99 = Selection.Offset(0, 32).Value
AccUse_00 = Selection.Offset(0, 45).Value
AccUse_01 = Selection.Offset(0, 58).Value
AccUse_02 = Selection.Offset(0, 71).Value
AccUse_03 = Selection.Offset(0, 84).Value
AccUse_04 = Selection.Offset(0, 97).Value
AccUse_05 = Selection.Offset(0, 110).Value
AccUse_06 = Selection.Offset(0, 123).Value
AccUse_07 = Selection.Offset(0, 136).Value
AccUse_08 = Selection.Offset(0, 149).Value
AccUse_09 = Selection.Offset(0, 162).Value
AccUse_10 = Selection.Offset(0, 175).Value
AccUse_11 = Selection.Offset(0, 188).Value
Workbooks.Open Filename:= "TEMPLATE.xls"
Windows("HOU SP_template.xls").Activate
Cells(1, 5).Value = Section
Cells(2, 5).Value = Licence
Cells(3, 5).Value = Client
Cells(3, 14).Value = Nom_Ent
Cells(12, 6).Value = AccUse_97
Cells(15, 6).Value = AccUse_98
Cells(18, 6).Value = AccUse_99
Cells(21, 6).Value = AccUse_00
Cells(24, 6).Value = AccUse_01
Cells(27, 6).Value = AccUse_02
Cells(30, 6).Value = AccUse_03
Cells(33, 6).Value = AccUse_04
Cells(36, 6).Value = AccUse_05
Cells(39, 6).Value = AccUse_06
Cells(42, 6).Value = AccUse_07
Cells(45, 6).Value = AccUse_08
Cells(48, 6).Value = AccUse_09
Cells(51, 6).Value = AccUse_10
Cells(54, 6).Value = AccUse_11
Application.DisplayAlerts = False ' suppress overwrite warning message
ActiveWorkbook.SaveAs Filename:= "X\" & Filename_All, _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWorkbook.Close True
i = i + 1
Next lCount
End Sub
any help is greatly appreciated.
thanks
I'm using excel 2003.
I have written a macro which basically get data from a large spreadsheet and inserts it into a standard template.
basically there a some rows I don't want to go through the loop as the require manual massaging, i have marked these rows with an "X" in column 2 (B), all others have been left blank.
See below for what I've got so far
Sub Macro1()
' Macro1 Macro
' Macro recorded 6/03/2013
'Set your variables
Dim Filename_A As String
Dim Filename_B As String
Dim Filename_C As String
Dim Filename_All As String
Dim AccUse_97 As Single
Dim AccUse_98 As Single
Dim AccUse_99 As Single
Dim AccUse_00 As Single
Dim AccUse_01 As Single
Dim AccUse_02 As Single
Dim AccUse_03 As Single
Dim AccUse_04 As Single
Dim AccUse_05 As Single
Dim AccUse_06 As Single
Dim AccUse_07 As Single
Dim AccUse_08 As Single
Dim AccUse_09 As Single
Dim AccUse_10 As Single
Dim lCount As Integer
Dim lNum As Integer
Dim i As Integer
'start
Range("C7").Select
i = 1
'loop
For lCount = 1 To 309
Workbooks("NAME.xls").Activate
Selection.Offset(1, 0).Select
' Assign data/values to variable
Filename_A = Selection.Offset(0, 1).Value
Filename_B = Selection.Offset(0, 2).Value
Filename_C = Selection.Offset(0, 3).Value
Filename_All = Filename_A & "_" & Filename_B & "_" & Filename_C
' Client information
Section = Selection.Offset(0, 1).Value
Licence = Selection.Offset(0, 2).Value
Client = Selection.Offset(0, 3).Value
Nom_Ent = Selection.Offset(0, 4).Value
AccUse_97 = Selection.Offset(0, 6).Value
AccUse_98 = Selection.Offset(0, 19).Value
AccUse_99 = Selection.Offset(0, 32).Value
AccUse_00 = Selection.Offset(0, 45).Value
AccUse_01 = Selection.Offset(0, 58).Value
AccUse_02 = Selection.Offset(0, 71).Value
AccUse_03 = Selection.Offset(0, 84).Value
AccUse_04 = Selection.Offset(0, 97).Value
AccUse_05 = Selection.Offset(0, 110).Value
AccUse_06 = Selection.Offset(0, 123).Value
AccUse_07 = Selection.Offset(0, 136).Value
AccUse_08 = Selection.Offset(0, 149).Value
AccUse_09 = Selection.Offset(0, 162).Value
AccUse_10 = Selection.Offset(0, 175).Value
AccUse_11 = Selection.Offset(0, 188).Value
Workbooks.Open Filename:= "TEMPLATE.xls"
Windows("HOU SP_template.xls").Activate
Cells(1, 5).Value = Section
Cells(2, 5).Value = Licence
Cells(3, 5).Value = Client
Cells(3, 14).Value = Nom_Ent
Cells(12, 6).Value = AccUse_97
Cells(15, 6).Value = AccUse_98
Cells(18, 6).Value = AccUse_99
Cells(21, 6).Value = AccUse_00
Cells(24, 6).Value = AccUse_01
Cells(27, 6).Value = AccUse_02
Cells(30, 6).Value = AccUse_03
Cells(33, 6).Value = AccUse_04
Cells(36, 6).Value = AccUse_05
Cells(39, 6).Value = AccUse_06
Cells(42, 6).Value = AccUse_07
Cells(45, 6).Value = AccUse_08
Cells(48, 6).Value = AccUse_09
Cells(51, 6).Value = AccUse_10
Cells(54, 6).Value = AccUse_11
Application.DisplayAlerts = False ' suppress overwrite warning message
ActiveWorkbook.SaveAs Filename:= "X\" & Filename_All, _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWorkbook.Close True
i = i + 1
Next lCount
End Sub
any help is greatly appreciated.
thanks