Nano Hash - криптовалюты, майнинг, программирование

Почему числовые ячейки не имеют свойства .Characters()?

С любым текстовым значением я могу индивидуально отформатировать каждый символ, а затем скопировать это форматирование в другую ячейку, перебирая коллекцию Range.Characters().

Однако, если ячейка является числом (даже если numberFormatting отображает ее как строку, например даты), то она не предоставляет свойство .Characters() и, действительно, не может быть выборочно отформатирована по цифре.

Почему Excel отображает строки, используя объекты символов, а не числа, даже если число отображается в виде строки?


  • Если число отформатировано как текст (т. е. 'отображается как строка'), то вы можете отформатировать отдельные символы/цифры. Если он отформатирован как число, то 10 — это не 10, а 0A. 05.04.2016
  • @Jeeped Я понимаю, что текст можно отформатировать как серию символов. Я думал, что объекты Characters() использовались в качестве уровня представления (особенно для таких вещей, как dateValues, отображаемых как письменные даты). для любых значений, но видимо не для чисел. Я просто пытаюсь выяснить, что на самом деле происходит. 05.04.2016
  • Правда может напугать вас. Вы можете взять синюю таблетку и увидеть Range объект с магическими свойствами, или вы можете взять красную таблетку, столкнуться лицом к лицу с COM и реальной объектной моделью Excel и посмотреть, насколько глубока кроличья нора. Синяя таблетка мне понравилась. 05.04.2016

Ответы:


1

Если вы хотите обойти это, вы можете сделать следующее:

В ячейке A1 введите «123456» со знаком « » впереди. Затем написать

range("A1").Characters(1,3).Font.Bold = true

Потребуются только первые три цифры, без учета знака "'". Таким образом, число отображается в виде строки, но вы все равно можете использовать его для расчетов, например. A1 + 4 даст 123460.

07.04.2016
  • Я ценю это предложение, но меня не столько интересуют обходные пути, сколько понимание того, почему они отличаются и что на самом деле происходит под капотом, вызывая разницу. 07.04.2016
  • Идея состоит в том, что число всегда является числом в ячейке, даже если оно отформатировано так, чтобы оно выглядело как текст. В этом случае VBA не волнует, как это выглядит в Excel - он знает, что это число, и поэтому оно не может иметь Range.Characters. По той же причине вы не можете назвать переменную, начинающуюся с числа в VBA, например. 123_моя_переменная. 07.04.2016
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..