Когда я вставляю в ячейку текст через
Excel.Range to = ...
to.Cells[1, 1].Value = "43.64";
То по непонятной причине вставляется 43,64.
При этом, если я вставляю что-то вроде 43.64.78, то точки на запятые не меняются.
Формат ячеек ставил и обычный и текстовый, разницы нет.
Как это исправить?
Нет ошибки. в VBA разделитель целой и дробной части - точка, на листе Excel в русской локали - запятая. При вставке на лист числа разделитель автоматически преобразуется в нужный.
Значение типа 43.64.78 - текст, в нем нет разделителя числовых данных, точка - часть текста, поэтому при вставке на лист символы не подменяются.
Если в данных, которые могут быть преобразованы, точки нужно сохранить, вставлять данные как текстовые (апостроф слева, лишний пробел...) или изначально задать формат столбца текстовым.
to.Cells[1, 1].Value = "'43.64";
апостроф слева сигнализирует, что после него текст. В ячейке апостроф не отображается.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости