Could Someone Explain this Code

  • Thread starter Thread starter Sean
  • Start date Start date
S

Sean

Could someone explain the code below? I know it takes the values that
are in Report E6;E9 and E12 and posts them on a sheet called Database,
but where I'm unsure is that it posts these on the row below the last
entries, but I don't know which Column on the Database sheet controls
this. What I wish to do is modify the particular column to action
"Post the entries on the row below the last value entered in Column F
on the Database sheet.

Thanks


Sub Database_Post()
Dim r As Long, c As Long, rng As Range
Dim MyValues(9, 5), MyHeaders(2), MyColumns
Application.ScreenUpdating = False

Set rng = Sheets("Database").Cells(65536, "D").End(xlUp).Offset(1,
0)
MyColumns = Array("A", "C", "H", "K", "M")
For r = 0 To 8
For c = 0 To UBound(MyColumns)
MyValues(r, c) = _
Sheets("Report").Cells(18 + 5 * r, MyColumns(c)).Value
Next c
Next r
With Sheets("Report")
MyHeaders(0) = .Range("E6").Value
MyHeaders(1) = .Range("E9").Value
MyHeaders(2) = .Range("E12").Value
End With
rng.Resize(10, 5).Value = MyValues
On Error Resume Next
rng.Offset(0, -3).Resize(rng.Parent.Cells(65536, "D") _
.End(xlUp).Row - rng.Row + 1, 3) = MyHeaders

Sheets("Database").Select
Columns("A:H").Select
Columns("A:H").EntireColumn.AutoFit

Sort

Range("A1").Select
Sheets("Report").Select
Range("A1").Select

End Sub
 
It puts MyHeaders based on rng, which is earlier set in Column D.
So change Cells(65536, "D") to Cells(65536, "F").

Hth,
Merjet
 
It puts MyHeaders based on rng, which is earlier set in Column D.
So change Cells(65536, "D") to Cells(65536, "F").

Hth,
Merjet

Thanks Merjet, I tried that and my values that I expected to be posted
in Column D ended up in Column H. Then I changed this rng.Offset(0,
-3).Resize(rng.Parent.Cells(65536, "F") _ TO rng.Offset(0,
-5).Resize(rng.Parent.Cells(65536, "F") _
But then the first 3 Columns posted correctly i.e. A; B and C but the
remaining Columns were ncorrect offset by 2 columns i.e. Column D data
is in Column F etc
 
Change: rng.Resize(10, 5).Value = MyValues

To: rng.Offset(0, -2).Resize(10, 5).Value = MyValues

Hth,
Merjet
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top