Здравствуйте все! Есть частный случай: индексы при выгрузке из 1С состоят из 2-х знаков, один из которых пробел, другой цифра - например, "1 ". При различных обработках макросом (копирование, resize и т.д.) эти индексы автоматически преобразуются в цифру и теряют пробел. Однако, опять же для частных задач, нужно, чтобы этот пробел сохранялся. В макросах пока делаю первые шаги. Подскажите, плз, как это можно сделать?
Здравствуйте все! Есть частный случай: индексы при выгрузке из 1С состоят из 2-х знаков, один из которых пробел, другой цифра - например, "1 ". При различных обработках макросом (копирование, resize и т.д.) эти индексы автоматически преобразуются в цифру и теряют пробел. Однако, опять же для частных задач, нужно, чтобы этот пробел сохранялся. В макросах пока делаю первые шаги. Подскажите, плз, как это можно сделать?pabchek
Виктор, ты запускаешь макрос преобразования текста в число и жалуешься на то, что почему-то текст преобразуется в числа. Приведи реальный пример того случая, когда тебе нужен именно текст с пробелом. Не заметил, что в одном Cells 3, в другом 1
просто копируем обычным копи-пастом (ну или укороченным, как в примере ниже) [vba]
Код
Sub rrr() Cells(1, 1).Resize(9).Copy Cells(1, 3)'.Resize(9) End Sub
[/vba]
Добавлено Пост правил раз 5
Виктор, ты запускаешь макрос преобразования текста в число и жалуешься на то, что почему-то текст преобразуется в числа. Приведи реальный пример того случая, когда тебе нужен именно текст с пробелом. Не заметил, что в одном Cells 3, в другом 1
просто копируем обычным копи-пастом (ну или укороченным, как в примере ниже) [vba]
Код
Sub rrr() Cells(1, 1).Resize(9).Copy Cells(1, 3)'.Resize(9) End Sub
Да, про форматирование думал. От копирования уходил. Оба действия не делал, поскольку обрабатывается больше 600 тыс. строк. Ресайз вроде как самая шустрая операция. Но буду тестировать на скорость. Спасибо всем за ответы!
Да, про форматирование думал. От копирования уходил. Оба действия не делал, поскольку обрабатывается больше 600 тыс. строк. Ресайз вроде как самая шустрая операция. Но буду тестировать на скорость. Спасибо всем за ответы!pabchek
"Учиться, учиться и еще раз учиться!" WM: R399923528092
обрабатывается больше 600 тыс. строк. Ресайз вроде как самая шустрая операция.
Ресайз у тебя по-любому будет. И он ваще на перенос не влияет. А на больших объемах вроде лучше копирование, чем приравнивание. Если уж тестируешь, то вот так еще посмотри [vba]
обрабатывается больше 600 тыс. строк. Ресайз вроде как самая шустрая операция.
Ресайз у тебя по-любому будет. И он ваще на перенос не влияет. А на больших объемах вроде лучше копирование, чем приравнивание. Если уж тестируешь, то вот так еще посмотри [vba]
[/vba] т.е. не использовать второй раз Resize. Excel - сам поймет на сколько расширить диапазон. так и проще и ошибок меньше будет.
Кстати: не касается темы копирования(переноса), но связано с быстродействием. есть у Excel один баг. Если высота строк - стандартная (15) - то при вставке текста с переносом (например при выгрузке массива) - изменяется высота строк(выполняется автоподбор высоты) - это ооочень сильно тормозит выгрузку из массива, стоит перед этим изменить высоту строк, и выгрузка выполняется в разы быстрее. .
[/vba] т.е. не использовать второй раз Resize. Excel - сам поймет на сколько расширить диапазон. так и проще и ошибок меньше будет.
Кстати: не касается темы копирования(переноса), но связано с быстродействием. есть у Excel один баг. Если высота строк - стандартная (15) - то при вставке текста с переносом (например при выгрузке массива) - изменяется высота строк(выполняется автоподбор высоты) - это ооочень сильно тормозит выгрузку из массива, стоит перед этим изменить высоту строк, и выгрузка выполняется в разы быстрее. .SLAVICK