I am very new to VBA and am trying to determine how to store multiple values within one cell. For example, I first:
- Scanned through each cell within a row to determine if it was blank. (A2:F3)
- I then identified the column header for that blank cell. (A1:F1)
- I created a message box that says the cell and the title of the corresponding column header. (The cell is empty. The column header is state.)
I need some help figuring out:
- How to loop so that each column header does not overwrite the next one when it saves to column G.
- How to loop and concatenate so that multiple column headers within one row will be in the same cell. (For example, Name, School, State - those would be the headers I am pulling into the last column.)
Thank you for any help you can offer!
Sub EmptyCells()
Dim Cell As Range
Dim lrow As Long, i As Integer
Dim lcol As Long
Dim rw As Range
Dim reString As String
Dim ResultRng As Range
'Find the last non-blank cell in Column "School"
lrow = Cells(Rows.Count, 3).End(xlUp).Row
lcol = Cells(1, Columns.Count).End(xlToLeft).Column
MsgBox "Last Row: " & lrow
Set ResultRng = Range("G2:G3")
For Each rw In Sheets(1).Range("A1:F3").Rows
For Each Cell In rw.Cells
If IsEmpty(Cell.Value) Then
'MsgBox Cell.Address & " is empty. " & "The cell row number is " & Cell.Row & "." & vbNewLine & "The column header is " & Cell.Offset((1 - Cell.Row), 0)
ResultRng = Cell.Offset((1 - Cell.Row), 0)
End If
Next
Next
MsgBox "Complete"
End Sub