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

Вход

Регистрация

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

 

= Мир MS Excel/Преобразование числа в пикетажное значение трассы - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Преобразование числа в пикетажное значение трассы (Макросы/Sub)
Преобразование числа в пикетажное значение трассы
al_geor Дата: Среда, 19.03.2014, 07:42 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Не получается написать функцию приведения чисел к следующему виду, например:
Число Пикетажное значение

0,00 ПК0+00,00
1,11 ПК0+01,11
99,99 ПК0+99,99
100,11 ПК1+00,11
1000,11 ПК10+00,11
11111,11 ПК111+11,11
Если число 0, то ПК0+00,00, а от 0,01 до 99,99 и т.д. ПК№(№-целый пикет)+остаток от деления. Т.е. все числа делятся на 100 и приводятся к виду показанному выше. И если возможно чтобы формат в ячейке оставался числовым( "ПК" “+” , как-то так чтобы можно было выполнять арифметические действия с этими ячейками)

[vba]
Код
Function Piket(Cifra As Double) As Double
If Cifra = 0 Then
Cifra = "ПК0+00,00"
End If
If Cifra > 0 Then
Cifra = “ПК+” Cifra/100(Т.е. сцепить “ПК” “+” )
End If
End Function
[/vba]
 
Ответить
СообщениеНе получается написать функцию приведения чисел к следующему виду, например:
Число Пикетажное значение

0,00 ПК0+00,00
1,11 ПК0+01,11
99,99 ПК0+99,99
100,11 ПК1+00,11
1000,11 ПК10+00,11
11111,11 ПК111+11,11
Если число 0, то ПК0+00,00, а от 0,01 до 99,99 и т.д. ПК№(№-целый пикет)+остаток от деления. Т.е. все числа делятся на 100 и приводятся к виду показанному выше. И если возможно чтобы формат в ячейке оставался числовым( "ПК" “+” , как-то так чтобы можно было выполнять арифметические действия с этими ячейками)

[vba]
Код
Function Piket(Cifra As Double) As Double
If Cifra = 0 Then
Cifra = "ПК0+00,00"
End If
If Cifra > 0 Then
Cifra = “ПК+” Cifra/100(Т.е. сцепить “ПК” “+” )
End If
End Function
[/vba]

Автор - al_geor
Дата добавления - 19.03.2014 в 07:42
Pelena Дата: Среда, 19.03.2014, 07:52 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19187
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
Обычная функция листа не подойдёт?
Код
=ТЕКСТ(A1;"ПК0+00,00")


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеОбычная функция листа не подойдёт?
Код
=ТЕКСТ(A1;"ПК0+00,00")

Автор - Pelena
Дата добавления - 19.03.2014 в 07:52
al_geor Дата: Среда, 19.03.2014, 08:53 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Спасибо за ответ. Практически уже устраивает.
 
Ответить
СообщениеСпасибо за ответ. Практически уже устраивает.

Автор - al_geor
Дата добавления - 19.03.2014 в 08:53
Pelena Дата: Среда, 19.03.2014, 09:11 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 19187
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
чтобы формат в ячейке оставался числовым

можно просто установить пользовательский формат ячеек ПК0+00,00


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщение
чтобы формат в ячейке оставался числовым

можно просто установить пользовательский формат ячеек ПК0+00,00

Автор - Pelena
Дата добавления - 19.03.2014 в 09:11
al_geor Дата: Среда, 19.03.2014, 09:48 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Спасибо. Вопросов нет.
 
Ответить
СообщениеСпасибо. Вопросов нет.

Автор - al_geor
Дата добавления - 19.03.2014 в 09:48
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Преобразование числа в пикетажное значение трассы (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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