Link to home
Create AccountLog in
Avatar of Alex Campbell
Alex CampbellFlag for United States of America

asked on

How to change this macro to find last column instead of A to J?

This macro works for columns A to J, creating new rows from items separated by columns in Column G.
I would like it search for last column in the section.
Eventually, I would also like to tell it which column to find the comma separated values used to create new rows


Sub Commas2Rows()
' hiker95, 05/18/2017, ME1006027
Dim lr As Long, r As Long, s, i As Long
Application.ScreenUpdating = False
With ActiveSheet
  lr = .Cells(Rows.Count, 1).End(xlUp).Row
  For r = lr To 2 Step -1
    If InStr(.Range("G" & r), ", ") Then
      s = Split(.Range("G" & r), ", ")
      .Rows(r + 1).Resize(UBound(s)).Insert
      .Range("G" & r).Resize(UBound(s) + 1) = Application.Transpose(s)
      .Range("A" & r + 1 & ":F" & r + 1).Resize(UBound(s)).Value = .Range("A" & r & ":F" & r).Value
      .Range("H" & r + 1 & ":J" & r + 1).Resize(UBound(s)).Value = .Range("H" & r & ":J" & r).Value
    End If
  Next r
End With
Application.ScreenUpdating = True
End Sub

Open in new window

Before.jpg
After.jpg
ASKER CERTIFIED SOLUTION
Avatar of Bill Prew
Bill Prew

Link to home
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
See answer
With ActiveSheet
   .usedrange
   lc = .usedrange.columns.count + .usedrange.columns.column - 1
Avatar of Alex Campbell

ASKER

Thanks, works great