Страницы: 1
RSS
Разделение текста на две ячейки при импорте из другой книги, Прошу помощи
 
Уважаемые форумчане, помогите пожалуйста подкрутить макрос.
Нужно при импорте разделить текст из одной ячейки на две ячейки.
делителем является только первая запятая с пробелом - ", "
и саму запятую с пробелом нужно исключить при импорте
Скрытый текст
Изменено: AndreiSMT - 10.12.2024 09:04:42
 
Цитата
AndreiSMT написал: Нужно при импорте...
А как Вы импортируете? Формулы? Макросы? PQ? Прочее?
Вот при настройке импорта, в зависимости от способа, и учитывайте это разбиение
Согласие есть продукт при полном непротивлении сторон
 
Для Вашего примера можно так
Код
'....................................
For I = LBound(arr1C, 1) To UBound(arr1C, 1)
    arr(I, 3) = arr1C(I, 1)
    arr(I, 2) = arr1C(I, 2)
    arr(I, 4) = Split(arr1C(I, 3), ", ")(0)
    arr(I, 5) = Split(arr1C(I, 3), ", ")(1)
    arr(I, 6) = arr1C(I, 4)
'...................................
Согласие есть продукт при полном непротивлении сторон
 
Sanja, к сожалению в файле данных встречаются несколько раз повторяющиеся запятые с пробелом, и когда такое случается, то не весь текст попадает в импорт.
Подчеркнул красным текст, который не импортировался
Скрытый текст
Изменено: AndreiSMT - 10.12.2024 10:01:55
 
?Если в Артикулах не будет 2-х подряд 'собак')
Если такое возможно - замените на символы, которые однозначно не встретятся в Артикуле
Код
For I = LBound(arr1C, 1) To UBound(arr1C, 1)
    arr(I, 3) = arr1C(I, 1)
    arr(I, 2) = arr1C(I, 2)
      iTmp = Replace(arr1C(I, 3), ", ", "@@", , 1)
    arr(I, 4) = Split(iTmp, "@@")(0)
    arr(I, 5) = Split(iTmp, "@@")(1)
    arr(I, 6) = arr1C(I, 4)
    arr(I, 8) = arr1C(I, 5)
    With Application.WorksheetFunction
      arr(I, 7) = arr1C(I, 5) / 1.2
      arr(I, 9) = arr1C(I, 4) * arr1C(I, 5)
    End With
    iTmp = Empty
Next
Согласие есть продукт при полном непротивлении сторон
 
Sanja, огромное вам спасибо!
Страницы: 1
Наверх