Проблема заключается в том, что при выгрузке из ворд в эксель некоторые столбцы находятся в двух ячейках, а нужны в одной. В исходном файле формата ворд тоже самое, там всё через перенос строки. Так-как массив таблиц огромный, в ручную не получится сделать. пример на фото. Посоветуйте пожалуста макрос, или алгоритм действий, спасибо!!!
Я бы делал такой макрос: 1. Находим непустую ячейку в столбце "Номер п/п". 2. Проверяем в столбце "ФИО" ячейку следующей строки, если она не пустая, то цепляем ее к основной ячейке, нижнюю очищаем. 3. Проверяем столбец "Место рождения", если нижняя ячейка не пустая и т.д. по всем столбцам, где может быть разрыв.
Sub Style_r1c1()
Application.ReferenceStyle = xlR1C1 ' переключение на нумерацию столбцов, если нужно
End Sub
Код
Sub Scepka()
For i = 3 To 40 'проверяемые строки от 3 до 40
If ActiveSheet.Cells(i, 1) <> 0 Then
' Проверка столбца "ФИО"
x = 2 ' номер столбца с разрывами
If ActiveSheet.Cells(i + 1, x) <> "" Then
ActiveSheet.Cells(i, x) = ActiveSheet.Cells(i, x) + ActiveSheet.Cells(i + 1, x)
ActiveSheet.Cells(i + 1, x).Clear
End If
' Проверка столбца "Место рождения"
x = 4
If ActiveSheet.Cells(i + 1, x) <> "" Then
ActiveSheet.Cells(i, x) = ActiveSheet.Cells(i, x) + ActiveSheet.Cells(i + 1, x)
ActiveSheet.Cells(i + 1, x).Clear
End If
' Проверка столбца "Адрес"
x = 8
If ActiveSheet.Cells(i + 1, x) <> "" Then
ActiveSheet.Cells(i, x) = ActiveSheet.Cells(i, x) + ActiveSheet.Cells(i + 1, x)
ActiveSheet.Cells(i + 1, x).Clear
End If
' Проверка столбца "Паспорт выдан"
x = 11
If ActiveSheet.Cells(i + 1, x) <> "" Then 'проверяем вторую строку
ActiveSheet.Cells(i, x) = ActiveSheet.Cells(i, x) + ActiveSheet.Cells(i + 1, x)
ActiveSheet.Cells(i + 1, x).Clear
End If
If ActiveSheet.Cells(i + 2, x) <> "" Then ' проверяем третью строку
ActiveSheet.Cells(i, x) = ActiveSheet.Cells(i, x) + ActiveSheet.Cells(i + 2, x)
ActiveSheet.Cells(i + 2, x).Clear
End If
End If
Next i
End Sub
Михаил подскажите, пробовали сами переделать макрос, не получилось. Как выполнить тоже самое действие только по всем столбцам, плюс область которая соединяется добавить пробел. А то он склеивает все слитно. Просто в массиве другие столбцы тоже имеют области на две строки, в вышеуказанном примере не сразу видно было.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄