You haven't said what the macro is meant to achieve -
It would be helpful to know what are you trying to do.
With the macro itself I can see a number of issues, which I can list, but it would be better to start from scratch, rather than try and fix this macro.
1. You have declared C2 as a single variable, not as an array and your code includes UBound attempting to refer to C2. UBound is used with an array to return it's size.
It is possible to assign an array to a variant variable, but you can't create an array by passing it a string.
Arrays are DIM'd like this: C2(n) where n is the number of elements in the array.
2. You have DIM'd C2 as a variant, but as you appear to only be assigning Text to it, it would be better to assign it as a String variable, not as a variant
3. You have attempted to pass a string consisting of the contents of several cells with intervening "|" characters.
Your references to the cells such as .[sheet1!A1] are wrong. You are using a notation that is found in worksheet cells and is not used in VBA.
Refer to cells inside a With statement like this: .Worksheets("Sheet1").Range("A1").Value
(.Value is the default for a single cell range and is not strictly necessary and is not required for the copy operation which copies all the cells components, not just it's value). If copying Text then .Worksheets("Sheet1").Range("A1").Text is appropriate.
4.If you want the contents of the cells Sheet1 A1 etc in an array then you will have to assign each cell's contents to a numbered array element: C2(0)= .Worksheets("Sheet1").Range("A1").Value
5. It appears that you are trying to use Join to add cell contents to C2, but Join is for concatenating (joining) elements of an array into a single string
6. Resize requires two variables - row and column but you have nothing for the column variable: Resize (,UBound(Split(C2, "|")) + 1). There should be a number for rows between the ( and the ,
7. I don't think that you can assign an array to a range of cells using Split (but I may be wrong).
8. I notice that refer to the source worksheet names as sheet1 etc. Unless you have renamed the worksheets they should be Sheet1 etc. You also have sheets6 which should likely be Sheet6
9. You have used the Worksheet Transpose function, when there already is a Transpose function in VBA (see example that follows)
Different programmers tend to have different styles, and may use different approaches to solving the same issue, and as a result it is not appropriate to criticize programming styles just because they do not match your own style.
However in this case, I would say that you appear to have taken a very complicated route to doing what appears to be a straightforward copy and paste operation.
From the code that you have supplied it appears that you are trying to copy data from a series of cells in the Workbook "Test.xls" (Sheet1 cell A1 etc). to Sheet 1, starting at Cell A1 in the workbook that contains the macro. ThisWorkbook specifically refers to the workbook that contains the macro.
Here is a macro that does a series of copy and pastes:
Dim WBDest As Range
On Error GoTo ErrHnd
'Open the source workbook
'create a starting point range for pasting the copied cells to
Set WBDest = ThisWorkbook.Worksheets(1).Range("A1")
'turn off screen updating to stop flicker and increase speed
Application.ScreenUpdating = False
'copy and paste the relevant cells
'single cell copy/paste operations
.Worksheets("Sheet1").Range("A1").Copy Destination:=WBDest.Offset(0, 0)
.Worksheets("Sheet1").Range("A2").Copy Destination:=WBDest.Offset(0, 1)
.Worksheets("Sheet2").Range("B1").Copy Destination:=WBDest.Offset(0, 2)
.Worksheets("Sheet2").Range("B2").Copy Destination:=WBDest.Offset(0, 3)
.Worksheets("Sheet3").Range("A1").Copy Destination:=WBDest.Offset(0, 4)
.Worksheets("Sheet3").Range("B1").Copy Destination:=WBDest.Offset(0, 5)
.Worksheets("Sheet4").Range("B1").Copy Destination:=WBDest.Offset(0, 6)
.Worksheets("Sheet4").Range("B2").Copy Destination:=WBDest.Offset(0, 7)
.Worksheets("Sheet5").Range("B1").Copy Destination:=WBDest.Offset(0, 8)
'copy and paste a range of cells with transposition
'only need identify the first destination cell when copying a range
WBDest.Offset(0, 9).PasteSpecial Paste:=xlPasteAll, Transpose:=True
'close the source workbook without saving it (this macro made no changes to it)
'restore screen updating
Application.ScreenUpdating = True
Application.ScreenUpdating = True