PDA

View Full Version : [SOLVED:] Modify Code to Include More Columns



nirvehex
01-05-2015, 10:42 AM
Hey guys,

I have a code:


Sub FillColBlanks()


Dim wks As Worksheet
Dim rng As Range
Dim LastRow As Long
Dim col As Long


Set wks = ActiveSheet
With wks





col = .Range("Table28[[#Headers],[LC]]").Column, Range("Table28[[#Headers],[LCS]]").Column, Range("Table28[[#Headers],[LPN]]").Column



Set rng = .UsedRange 'try to reset the lastcell
LastRow = .Cells.SpecialCells(xlCellTypeLastCell).Row
Set rng = Nothing
On Error Resume Next
Set rng = .Range(.Cells(2, col), .Cells(LastRow, col)) _
.Cells.SpecialCells(xlCellTypeBlanks)
On Error GoTo 0


If rng Is Nothing Then
MsgBox "No blanks found"
Exit Sub
Else
rng.FormulaR1C1 = "=R[-1]C"
End If

Range("B3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy

Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False


End With


End Sub


There is an issue with it on line



col = .Range("Table28[[#Headers],[LC]]").Column, Range("Table28[[#Headers],[LCS]]").Column, Range("Table28[[#Headers],[LPN]]").Column


It will work fine when you use just the first column range, but I can't get the code to work when I add more column ranges to it. What am I doing wrong here?

Works:



col = .Range("Table28[[#Headers],[LC]]").Column



Does not work:


col = .Range("Table28[[#Headers],[LC]]").Column, Range("Table28[[#Headers],[LCS]]").Column, Range("Table28[[#Headers],[LPN]]").Column


Thanks!

nirvehex
01-05-2015, 02:21 PM
I got it. I set multiple rng's and then used the Union function to combine them into one!