2

Пожалуйста, мне нужна твоя помощь. Мне нужно переместить каждые 3 строки в новый столбец. Давайте предположим, что у меня есть это:

Ambassade de France
S.E. M. Patrice PAOLI
01-420000-420150

Ambassade de France
Mme.  Jamilé Anan
01-420000-420150

Ambassade de France
Mme . Marie Maamari
01-420000-420150

Мне нужно, чтобы они были такими:

Ambassade de France      S.E. M. Patrice PAOLI          01-420000-420150
Ambassade de France      Mme.  Jamilé Anan              01-420000-420150
Ambassade de France      Mme . Marie Maamari            01-420000-420150

У меня есть этот код. Не могли бы вы мне помочь, пожалуйста. Это дает мне ошибку. Вне зоны доступа. Что я должен изменить? (код на каждые 7, мне нужно на каждые 3)

Sub Every7()
    Dim i As Integer, j As Integer, cl As Range
    Dim myarray(100, 6) As Integer 'I don't know what your data is.  Mine is integer data
    'Change 100 to however many rows you have in your original data, divided by seven, round up
    'remember arrays start at zero, so 6 really is 7

    If MsgBox("Is your entire data selected?", vbYesNo, "Data selected?") <> vbYes Then
        MsgBox ("First select all your data")
    End If

    'Read data into array
    For Each cl In Selection.Cells
        Debug.Print cl.Value
        myarray(i, j) = cl.Value
        If j = 6 Then
            i = i + 1
            j = 0
        Else
            j = j + 1
        End If
    Next

    'Now paste the array for your data into a new worksheet
    Worksheets.Add
    Range(Cells(1, 1), Cells(101, 7)) = myarray
End Sub

1 ответ1

1

Попробуй это:

  1. Заменить число "6" на "2" и
  2. Замените число "7" на "3" в вашем коде.

Примечание: Dim myarray(100, 2) - 100 в этой строке - это общее количество строк, которые у вас есть. Если у вас есть (предположим) 50 строк, измените его на 50.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .