Как лучше присваивать значение ячейке?

Автор Николай Николаевич, 11.10.2012, 19:27

« назад - далее »

Николай Николаевич

Excel в момент присвоения меняет присваиваемое значение.
Подскажите, какие настройки необходимо применить в EXCEL для того, чтобы он самостоятельно не изменял данные?

Возможно, Excel рассматривает свои действия по изменению данных, как благо, но тогда было бы логично, чтобы где-то в настройках была возможность отключения этого "блага".

Или необходимо по другому присваивать данные? Сейчас я выполняю:
Cells(i,j).value = rs.Fields("KEY").Value

В приложенном файле сделал две колонки, в которых показал:
в первом столбце - данные, которые и должны быть.
во втором столбце - данные, измененные Экселем без желания и без ведома пользователя.

NULL

kuklp

Попробуйте сначала присвоить столбцу формат "текстовый". Или присваивайте значение так:
Cells(i,j).value = "'" & rs.Fields("KEY").Value
Я, как всегда, чертовски адекватен... Email: pilipnikop@yandex.ua WM Z206653985942, R334086032478, U238399322728, E332314026771

Николай Николаевич

Перед тем, как начать заполнение листа данными из dbf файла, я форматирую все столбцы в соответствии с типом полей dbf таблицы.

Вопрос не в изменении текста на число (такого не наблюдается), а в том, что, в частности, символы псевдографики преобразовываются в буквы. Например символы "┬", "╦", "╤", "╥" преобразуются в букву "Т" или "т" (не знаю русскую или английскую, но это и не важно: главное - сам факт преобразования).



NULL

Николай Николаевич

Прошу прощения, KuklP.
А добавление в начало строки еще одного символа "'" к чему приведет?
Вполне возможно, что в загружаемых данных этот символ присутствует и даже, возможно, первым символом строки (я в файле примера привел 13 строк, но таких строк в реальности гораздо больше).
NULL

kuklp

Апостроф в Экселе является служебным символом и обозначает, что в ячейке текст. Следующий за ним апостроф уже воспринимается как обычный апостроф. Вы просто попробуйте. Не получится - вернете все как было.
Я, как всегда, чертовски адекватен... Email: pilipnikop@yandex.ua WM Z206653985942, R334086032478, U238399322728, E332314026771

Николай Николаевич

Как выяснилось, EXCEL подменяет данные уже в rs.Fields("KEY").Value (посмотрел в отладчике).

Поэтому я оставил добавление "'" :
Cells(i,j).value = "'" & rs.Fields("KEY").Value,
но, так как это вопрос не решает, то создал новую тему:
"Как лучше загружать данные в EXCEL?"

Надеюсь на Вашу помощь.
NULL