Posting code is quite alright in this forum. However please use the VBA tags (by highlighting the code and then clicking on the VBA icon).

You are using the Activate and Select method unneccessarily often (I used to do that too, because the Macro Recorder does!). Therefore I am offering in Part 1 of my response a revised version of the first part of your code rewritten without a single call to these methods. I trust that you'll agree that this makes for more concise (and actually faster) code:

[vba]
Dim X As String
'Calling a variable X is generally not a good idea.
'I would recommend picking a more descriptive name.

Dim shReports As Worksheet, shInputList As Worksheet
Set shReports = Worksheets("Reports")
Set shInputList = Worksheets("Input List")

X = shReports.Range("H7").Value

Dim sourceCell As Range
Set sourceCell = shInputList.Cells.Find(What:=X, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Offset(, -8)

If sourceCell Is Nothing Then Exit Sub

Dim targetCell As Range
Set targetCell = shReports.Range("B18")

'COPY/PASTE QSR NUMBER
sourceCell.Copy
targetCell.PasteSpecial Paste:=xlPasteValues

'??? empty_cell 'run empty cell routine (YOU DIDN'T PASS ALONG THAT ROUTINE

'COPY/PASTE TREND
Set sourceCell = sourceCell.Offset(, 3)
sourceCell.Copy
targetCell.Offset(, 1).PasteSpecial Paste:=xlPasteValues

'COPY/PASTE OCCURENCE
Set sourceCell = sourceCell.Offset(, 1)
sourceCell.Copy
targetCell.Offset(, 2).PasteSpecial Paste:=xlPasteValues

'COPY/PASTE COST
Set sourceCell = sourceCell.Offset(, 5)
sourceCell.Copy
targetCell.Offset(, 3).PasteSpecial Paste:=xlPasteValues

'COPY/PASTE DESCRIPTION
Set sourceCell = sourceCell.Offset(, 1)
sourceCell.Copy
targetCell.Offset(, 4).PasteSpecial Paste:=xlPasteValues

[/vba]

Now I have a couple of questions:
  1. You didn't post the 'empty_cell' routine you are invoking in your code. I suspect this is exactly the loop you are trying to create and are having difficulties with. Please clarify.
  2. I am a bit fuzzy on what you are tying to do with that loop. Am I supposed to envision that you want to repeat the cell copy process I rewrote for you for each row that contains the value X in the cell in column H. Usually providing a specific example helps eliminating any confusion or misunderstanding.