Мои данные выглядят примерно так, очень и очень долго по вертикали.
#1, name1, number1
#2, name2, number2
#3, name3, number3
...
#2000, name2000, number2000
Я хочу переформатировать в 2 или 3 набора столбцов, подходящих для каждой печатной страницы. Что-то вроде этого
#1, name1, number1 #5 #9
#2, name2, number2 #6 #10
#3, name3, number3 #7 #11
#4, name4, number4 #8 #12
end of page 1
#13 #17 #21
#14 #18 #22
#15 #19 #23
#16 #20 #24
и так далее.
Я никогда раньше не писал VB-коды, но я пытаюсь настроить какой-то существующий код, который, как я обнаружил, делает это, и я сталкиваюсь с ошибкой. Я посчитал строки, которые мне нужны для каждой страницы, и число составляет 36.
Sub joeycol()
Dim count As Integer
count = 1
Dim desRow As Long
desRow = 1
Dim desColumn As Long
desColumn = 1
Dim srcRow As Long
Dim endRow As Long
endRow = 577
Dim srcColumn As Long
Dim wks As Worksheet
Set wks = Worksheets.Add
Dim x As Long
For srcRow = 1 To endRow
If count = 4 Then
count = 1
desRow = desRow - 36
End If
For srcColumn = 1 To 3
x = srcColumn * count
Cells(desRow, x) = rng.Cells(srcRow, srcColumn)
Next
count = count + 1
desRow = desRow + 1
Next
End Sub
Эта строка прямо сейчас дает мне ошибку 1004, а сообщение об ошибке не дает мне никакой подсказки :(
Cells(desRow, x) = rng.Cells(srcRow, srcColumn)
Я прочитал некоторые ответы здесь, возможно, лучший способ сделать это, скопировав диапазон вместо цикла, как я сделал, но у меня нет времени для изучения, так как мне нужно сделать это как можно скорее, и был бы признателен, если кто-нибудь может помочь мне разобраться в этом ,
Большое спасибо.