Страницы: 1
RSS
Добавление данных одной ячейки к данным другой и перенос части текста в другую ячейку
 

Здравствуйте. Может кто подскажет, как преобразовать таблицу следующим образом:

Причем, единицы могут быть разные (м, кг, и пр.), но если они указаны, то всегда в конце строки после запятой и пробела. Но иногда они отсутствуют, тогда переносить ни чего не нужно, должна остаться пустая ячейка

Будут преобразования сделаны в этой же таблице, или (может это проще?), сначала создать рядом другую таблицу и перенести данные в нужном порядке в нее – не важно. Всегда можно удалить лишнее позже.

Небольшое пояснение… Это нужно для экспорта данных в программу для составления смет «Моя смета», а она принимает таблицы только в таком формате. А вручную «перелопатить» от 3 000 до 40 000 позиций, тот еще «сизифов труд».

 
erikra,
приложите пожалуйста пример в excel.
Для начала вот:
Код
=СЖПРОБЕЛЫ(ЛЕВСИМВ(ПРАВСИМВ(" "&ПОДСТАВИТЬ(СЖПРОБЕЛЫ(B5);" ";ПОВТОР(" ";60));60);60))
Изменено: evgeniygeo - 29.07.2021 08:13:07
 
Цитата
erikra написал:
как преобразовать таблицу следующим образом
макросом
 
пример в excel.
 
Код
Sub Artikul()
    Dim y As Long
    Dim ar1 As Variant
    Dim ar2 As Variant
    Dim arr As Variant
    With ActiveSheet
        y = .Cells(.Rows.Count, 2).End(xlUp).Row
        ar1 = .Range(.Cells(1, 1), .Cells(y, 3))
    
        ReDim ar2(1 To UBound(ar1, 1), 1 To UBound(ar1, 2))
        
        For y = 2 To UBound(ar1, 1)
            arr = Split(ar1(y, 2), ", ")
            If Not IsEmpty(arr) Then
                ar2(y, 2) = arr(UBound(arr))
                
                If ar1(y, 1) = "" Then ar1(y, 1) = "***"
                arr(UBound(arr)) = "артикул - " & ar1(y, 1)
                
                ar2(y, 1) = Join(arr, ", ")
            End If
            ar2(y, 3) = ar1(y, 3)
        Next
            
        .Cells(1, 5).Resize(UBound(ar2, 1), UBound(ar2, 2)) = ar2
    End With
End Sub
 
МатросНаЗебре !!! Вы лучший!!! Я пытался через формулы сделать, а тут... Помог, так помог!!! Да так быстро!!! Работает как надо!!! Настоящий спец!!! Спасибо огромное!!!
Страницы: 1
Наверх