Вставьте строку в ячейку только с целыми числами, сохранив шрифты - VBA

Я пытаюсь добавить текст в ячейку excel с помощью VBA. В настоящее время я использую:

Range("A1").Characters(Len(Range("A1")) + 1).Insert ("text")

Это отлично работает для ячеек с текстом, но если ячейка содержит только числа (целые числа), выдается ошибка:

Run-time error '1004' Insert method of Characters class failed

Части текста в ячейке выделены разными шрифтами или выделены жирным шрифтом, и мне нужно сохранить их такими.

Я также пытался изменить NumberFormat ячейки на общий, но это не помогает:

Range("A1").NumberFormat = "@"

Если кто-то знает способ добавить текст в ячейку, содержащую только целые числа с разными шрифтами, ответьте.

Вы можете предварить свой вызов Range("A1").Value = "'" & Range("A1").Value, предполагая, что форматирование еще не применено к отдельным цифрам.

SpectralInstance 09.05.2022 23:28
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
1
1
38
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В отличие от строк, ячейки, которые содержат фактические числа (но не строки, которые выглядят как числа), не можешь имеют формат, применяемый к отдельным символам.

Поэтому разделите обработку на основе типа данных1

Dim cell as Range
Dim AppendText as String
AppendText = "text"
Set cell = Range("A1")
If TypeName(cell.Value2) <> "String" Then
    cell.Value2 = cell.Value2 & AppendText
Else
    cell.Characters(Len(cell.Value2) + 1).Insert AppendText
End If

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

Примечания:

  1. Возможно, вы захотите рассмотреть и другие типы данных: логическое значение, дата,...

Другие вопросы по теме