Попробуйте этот пример , который просто устанавливает его на черный цвет или белый цвет в зависимости от среднего числа r, g и значений b. Также хороший для тестирования! Замените лучшим алгоритмом там при нахождении случаев, которые не работают очень хорошо.
Some text
Боюсь, что апостроф '
- это специальный символ для Excel, когда он появляется как первый символ в найденной вами ячейке. Он указывает Excel обрабатывать остальную часть строки как текст, чтобы вы могли ввести в ячейку что-то вроде '34,2
, и он будет рассматривать ее как строку вместо числа (для форматирования и т. on).
Я предлагаю сделать что-то похожее на то, что вы предложили, за исключением того, что там, где вы помещаете его в Excel, проверьте первый символ и добавьте дополнительный '
, если он уже есть .
В качестве альтернативы, вы можете добавить апостроф ко всем значениям - если вы хотите, чтобы они все были как текст. Таким образом, вам не потребуется дополнительная проверка первого символа.
попробуйте вместо этого targetcell.Value
. .Formula
- это формула, отображаемая на панели формул, а .Value
- это оцененное значение ячейки.
Итак, я предполагаю, что вы бы использовали . Формула
также присутствует в исходном коде. Изменение этого должно сработать.
РЕДАКТИРОВАТЬ: Хорошо, это не сработало (смущено).
Excel обрабатывает начальную одинарную кавычку специально ... так, что даже непонятные свойства ячейки / диапазона не имеют доступа. Единственный обходной путь, который я смог найти, по сути тот же, что вы думали изначально. Вот и:
If VarType(cell) = 8 And Not cell.HasFormula Then
GetFormulaI = "'" & cell.Formula
Else
GetFormulaI = cell.Formula
End If
Вы можете попробовать отложить одинарную кавычку для ваших текстовых полей ('' '' + dbField) в вашем запросе, чтобы для полей со встроенными одинарными кавычками ваш запрос возвращал:
"''stuff in single quotes'"
который при помещении в ячейку Excel преобразуется в:
"'stuff in single quotes'"
для символов, не заключенных в кавычки, вы получите:
"'stuff that wasn't in quotes"
, который при помещении в ячейку Excel преобразует в:
"stuff that wasn't in quotes"
Стоит попробовать. : -)
Посмотрите на свойство PrefixCharacter
объекта Range
, которое соответствует этой ячейке
. Из справки:
Если
Свойство TransitionNavigKeys
False
, этот префиксный символ будет ' для текстовой метки или пустое. ЕслиСвойство TransitionNavigKeys
имеет значениеTrue
, этот персонаж будет 'для выровненная по левому краю метка "для метка, выровненная по правому краю, ^ для метка по центру, \ для повторяющегося ярлык или пустой.
Часть TransitionNavigKeys
относится к совместимости с Lotus 1-2-3, поэтому, скорее всего, это будет False
Ответ основан на статье по адресу:
http://excel.tips.net/Pages/T003332_Searching_for_Leading_Apostrophes.html
(предупреждение: может появиться немного раздражающее всплывающее окно)
редактировать: на самом деле это, вероятно, не будет использоваться, потому что PrefixCharacter
доступен только для чтения: (
edit2: Я был прав в первый раз. PrefixCharacter
заполняется только в том случае, если значение, добавленное к ячейке, начинается с ', поэтому просто прочтите PrefixCharacter
плюс значение
и объединение. Пока TransitionNavigKeys
равно False
, то есть