Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Присвоить значение без изменения формата - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Присвоить значение без изменения формата
ellison_shiny Дата: Четверг, 12.12.2024, 15:57 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Добрый день!
Необходимо присвоить значение ячейки другой ячейке без изменения формата последней. В данном случае формат меняется на "экспоненциальный".
Нашел 3 способа:
1. Просто добавляем апостроф.
2. Вместо присвоения значения копируем содержимое ячейки и вставляем специальной вставкой.
3. Изменяем тип данных. Способ нерабочий. Возможно ли что-то сделать или поправить? Это был бы самый идеальный вариант.

[vba]
Код
Sub Test()

Range("B1:D1").Clear
Range("B1:D1").NumberFormat = "General"

'Вариант 1
Range("B1") = Chr(39) & Range("A1")

'Вариант 2
Range("A1").Copy
Range("C1").PasteSpecial xlPasteValues

'Вариант 3
Range("D1") = CStr(Range("A1").Text) ' не работает

End Sub
[/vba]
К сообщению приложен файл: test.xlsm (15.0 Kb)
 
Ответить
СообщениеДобрый день!
Необходимо присвоить значение ячейки другой ячейке без изменения формата последней. В данном случае формат меняется на "экспоненциальный".
Нашел 3 способа:
1. Просто добавляем апостроф.
2. Вместо присвоения значения копируем содержимое ячейки и вставляем специальной вставкой.
3. Изменяем тип данных. Способ нерабочий. Возможно ли что-то сделать или поправить? Это был бы самый идеальный вариант.

[vba]
Код
Sub Test()

Range("B1:D1").Clear
Range("B1:D1").NumberFormat = "General"

'Вариант 1
Range("B1") = Chr(39) & Range("A1")

'Вариант 2
Range("A1").Copy
Range("C1").PasteSpecial xlPasteValues

'Вариант 3
Range("D1") = CStr(Range("A1").Text) ' не работает

End Sub
[/vba]

Автор - ellison_shiny
Дата добавления - 12.12.2024 в 15:57
i691198 Дата: Четверг, 12.12.2024, 19:20 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 346
Репутация: 109 ±
Замечаний: 0% ±

Добрый вечер. Можно написать так.[vba]
Код
Range("A1").Copy Range("D1")
[/vba]
 
Ответить
СообщениеДобрый вечер. Можно написать так.[vba]
Код
Range("A1").Copy Range("D1")
[/vba]

Автор - i691198
Дата добавления - 12.12.2024 в 19:20
and_evg Дата: Пятница, 13.12.2024, 06:53 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 469
Репутация: 82 ±
Замечаний: 0% ±

Excel 2007
Добрый день
Цитата ellison_shiny, 12.12.2024 в 15:57, в сообщении № 1 ()
присвоить значение ячейки другой ячейке без изменения формата последней

[vba]
Код
Range("B1").Value=Range("A1").Value
[/vba]


Сообщение отредактировал and_evg - Пятница, 13.12.2024, 06:53
 
Ответить
СообщениеДобрый день
Цитата ellison_shiny, 12.12.2024 в 15:57, в сообщении № 1 ()
присвоить значение ячейки другой ячейке без изменения формата последней

[vba]
Код
Range("B1").Value=Range("A1").Value
[/vba]

Автор - and_evg
Дата добавления - 13.12.2024 в 06:53
ellison_shiny Дата: Пятница, 13.12.2024, 09:07 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

i691198, хороший вариант, но в этом случае переносится и форматирование (нужно только значение ячейки).
 
Ответить
Сообщениеi691198, хороший вариант, но в этом случае переносится и форматирование (нужно только значение ячейки).

Автор - ellison_shiny
Дата добавления - 13.12.2024 в 09:07
ellison_shiny Дата: Пятница, 13.12.2024, 09:11 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

and_evg, возможно зависит от версии, но в 2021-й формат меняется на экспоненциальный (вывел в столбец D).
К сообщению приложен файл: 7378853.jpg (6.3 Kb)


Сообщение отредактировал ellison_shiny - Пятница, 13.12.2024, 09:18
 
Ответить
Сообщениеand_evg, возможно зависит от версии, но в 2021-й формат меняется на экспоненциальный (вывел в столбец D).

Автор - ellison_shiny
Дата добавления - 13.12.2024 в 09:11
Nic70y Дата: Пятница, 13.12.2024, 09:24 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 9028
Репутация: 2374 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
With Range("D1")
    .Clear
    .NumberFormat = "@"
    .Value = Range("A1").Value
End With
[/vba]


ЮMoney 41001841029809
 
Ответить
Сообщение[vba]
Код
With Range("D1")
    .Clear
    .NumberFormat = "@"
    .Value = Range("A1").Value
End With
[/vba]

Автор - Nic70y
Дата добавления - 13.12.2024 в 09:24
ellison_shiny Дата: Пятница, 13.12.2024, 09:38 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Nic70y, спасибо большое! Почему-то я думал, что и формат "Текстовый" будет также как и "Общий" сбрасываться на экспоненциальный автоматом. Однако ж нет :D
 
Ответить
СообщениеNic70y, спасибо большое! Почему-то я думал, что и формат "Текстовый" будет также как и "Общий" сбрасываться на экспоненциальный автоматом. Однако ж нет :D

Автор - ellison_shiny
Дата добавления - 13.12.2024 в 09:38
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!