Попробуй это:
- Заменить число «6» на «2» и
- Замените число «7» на «3» в вашем коде.
Примечание: Dim myarray(100, 2)
- 100 в этой строке - это общее количество строк, которые у вас есть. Если у вас есть (предположим) 50 строк, измените его на 50.
Пожалуйста, мне нужна твоя помощь. Мне нужно переместить каждые 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
Попробуй это:
Примечание: Dim myarray(100, 2)
- 100 в этой строке - это общее количество строк, которые у вас есть. Если у вас есть (предположим) 50 строк, измените его на 50.