I have asked multiple times how to get help with some code and the fix has not been correct. I played around and got it correct and wanted to post the code here incase someone else needs help.

When you have multiple sheets in workbook and you want to copy and paste multiple cells that are in varied locations within the sheets, and then one or more cell has a summation and you need to copy/paste special, this will help:

Code:
'seventh macro
'copy cells
Sub copycells()
Dim ws As Worksheet, wsum As Worksheet
Dim wb As Workbook
Dim vws As Variant 'Need to use a Variant for iterator
Dim i As Integer, j As String, k As String

i = 0
Set wb = Workbooks("sheet1.xlsm")
Set wsum = wb.Sheets("sum")

'Iterate through the sheets
For Each vws In wb.Sheets
If vws.Name <> "sum" Then
j = CStr(i + 2)
k = CStr(i + 20)
vws.Range("b8").Copy wsum.Range("a" & j)
vws.Range("b5").Copy wsum.Range("b" & j)
vws.Range("b9").Copy wsum.Range("c" & j)
vws.Range("H43").Copy wsum.Range("D" & j)
vws.Range("a13:a27").Copy wsum.Range("e" & j & ":e" & k)
vws.Range("f13:f27").Copy wsum.Range("f" & j & ":f" & k)
vws.Range("h13:h27").Copy wsum.Range("g" & j & ":g" & k)
vws.Range("i13:i27").Copy wsum.Range("h" & j & ":h" & k)
vws.Range("j13:j27").Copy wsum.Range("i" & j & ":i" & k)
vws.Range("h34").Copy wsum.Range("j" & j)
vws.Range("j34").Copy wsum.Range("k" & j)
vws.Range("d2").Copy wsum.Range("l" & j)
vws.Range("h38").Copy
wsum.Range("m" & j).PasteSpecial (xlPasteValues)
i = i + 20
End If
Next
End Sub
The code that copies cell h38, must be separated. That code cannot be on a single line and work. I have multiple workbooks I need to utilize this code for and the cells do change. For instance, 1 workbook the summation is cell j43. I hope this will help others.