jhyatt,
This should take of it. Make to put the Public variable declaration at the
top of a code module.
'*****************************
Public varValues(11) As Variant
'*****************************
Sub jhyatt()
Dim Oldsheet As String
Dim i As Integer
Dim MyVal As String
Dim ShtName As String 'Variable to simulate your code
ShtName = "Sheet4" '"Sheet4" should be 'Total' or 'Summary' in your code
Oldsheet = ActiveSheet.Name 'Capture sheet so we can return to it
MyVal = "Promotion" 'The value you are looking for
i = 0
Range("k1").Select 'The column you are searching
If ActiveCell <> "" Then
Do Until ActiveCell = ""
If ActiveCell = MyVal Then
varValues(11) = ActiveCell
varValues(1) = ActiveCell.Offset(0, -10)
varValues(2) = ActiveCell.Offset(0, -9)
varValues(3) = ActiveCell.Offset(0, -8)
varValues(4) = ActiveCell.Offset(0, -7)
varValues(5) = ActiveCell.Offset(0, -6)
varValues(6) = ActiveCell.Offset(0, -5)
varValues(7) = ActiveCell.Offset(0, -4)
varValues(8) = ActiveCell.Offset(0, -3)
varValues(9) = ActiveCell.Offset(0, -2)
varValues(10) = ActiveCell.Offset(0, -1)
i = i + 1
Call PasteMeHerejhyatt(Oldsheet, i, ShtName)
End If
ActiveCell.Offset(1, 0).Select
Loop
End If
End Sub
Function PasteMeHerejhyatt(shtOld As String, k As Integer, ShtName As String)
Sheets(ShtName).Select 'This will be the 'Total' or 'Summary' sheet
Sheets(ShtName).Range("A1").Select
ActiveCell.Offset(k, 0) = varValues(1)
ActiveCell.Offset(k, 1) = varValues(2)
ActiveCell.Offset(k, 2) = varValues(3)
ActiveCell.Offset(k, 3) = varValues(4)
ActiveCell.Offset(k, 4) = varValues(5)
ActiveCell.Offset(k, 5) = varValues(6)
ActiveCell.Offset(k, 6) = varValues(7)
ActiveCell.Offset(k, 7) = varValues(8)
ActiveCell.Offset(k, 8) = varValues(9)
ActiveCell.Offset(k, 9) = varValues(10)
ActiveCell.Offset(k, 10) = varValues(11)
'return to sheet that call came from and continue
Sheets(shtOld).Select
End Function