Я надеюсь добавить ярлыки пользовательских данных в штабелированную гистограмму в Excel 2010. Каждый бар будет иметь значение метки, выведенное из значения на листе, которое не обязательно равно высоте бара сам.Форматирование гибких информационных меток
Лист, который я делаю, является шаблоном и имеет выпадающие варианты для изменения единиц данных. Например: $ MM с 1 десятичной запятой, K с 2 десятичными точками, $ с 0 десятичными точками и т. Д. Я столкнулся с проблемой форматирования ярлыков в соответствии с выборами форматирования данных. Я пробовал два подхода:
Форматирование самих этикеток данных с помощью VBA. Частичный код ниже $ K с одним десятичным:
`With ActiveChart.SeriesCollection(x).Points(y)`
.DataLabel.Text.NumberFormat = "$#,##0.0,"
К сожалению, этикетки, кажется, не читать запятые и разделить на одну тысячу, так что я не могу с точностью отображения тысячи или миллионы. Значение 1000 в приведенном выше коде будет отображаться как $ 1,000.0 вместо желаемого $ 1.0.
- Отформатируйте значения на листе, а затем просто прочитайте их с помощью VBA. В основном, я использую условное форматирование, чтобы правильно отображать значения на листе, а затем читать их с
.DataLabel.Text = Cells(r,c)
К сожалению, если данные правильно отформатирован, значения остаются неизменными и метки отображения, без пользовательского форматирования на всех ,
Есть ли разумный способ достижения моей цели? Я надеюсь, что есть способ либо (1) сделать подсчет запятых при изменении форматов меток данных или (2) изменить фактические значения данных в моем листе на основе выпадающего списка форматирования (вместо того, форматирование, которое оставляет значение неизменным).
Спасибо, Lance
Добро пожаловать в StackOverflow. Пожалуйста, найдите минутку, чтобы ознакомиться с инструкциями на сайте о ответе на вопросы. Проводка кода без объяснения причин, почему это помогает решить проблему и - в этом случае - как ее использовать, не рекомендуется. Ваш вклад будет иметь большую ценность, если вы объясните, как это помогает ответить на вопрос и как использовать этот фрагмент кода. Не все узнают, что вы показываете информацию из окна VBA Immediate ... –