Excel vba зачеркнутый текст

In this article I will explain how you can use VBA to add strikethrough to the font of cells and ranges. I’ve also provided a sample code which checks if a cell has the strikethrough font or not.

You can download the file and code related to this article here.

Jump To:

  • Basics
  • Example 1, Set Strikethrough
  • Example 2, Get  Strikethrough Status


Basics:

The code below adds a strikethrough to the font in cell A1:

Range("A1").Font.Strikethrough = True

Before:

Excel, VBA, Font, Strikethrough, Before

After:

Excel, VBA, Font, Strikethrough, After
The following line of code removes the strikethrough from the font in cell A1:

Range("A1").Font.Strikethrough = False

The following line of code prints the current strikethrough status of the font in cell A1 in cell B1:

Cells(1, 2) = Range("A1").Font.Strikethrough

False:

Excel, VBA, Font, Strikethrough, False
True:

Excel, VBA, Font, Strikethrough, True


Example 1, Set Strikethrough:

In this example there is some text written in row 1. There are also drop down lists in row 2 with the value Yes and No. When the user changes the value of a drop down list in row 2 to true, a  strikethrough will be added to the font in row 1. When the user changes the value of the drop down list back to No, the strikethrough will be removed from the cell in row 1:

Private Sub worksheet_change(ByVal target As Range)
Dim i As Integer
'iterates through the cells in row 1
For i = 1 To 4
    If Cells(2, i) = "Yes" Then
        'adds a strikethrough to the cell in row 1
        Range(Cells(1, i), Cells(1, i)).Font.Strikethrough _
        = True
    Else
        'removes the strikethrough from the cell in row 1
        Range(Cells(1, i), Cells(1, i)).Font.Strikethrough _
        = False
    End If
Next i
End Sub

The program uses a Worksheet_Change event handler. The event handler executes whenever the user selects a new value from the drop down lists:

Private Sub worksheet_change(ByVal target As Range)

The code below iterates through the cells in row 1:

For i = 1 To 4
...
End Sub

The If statement checks if the user selected “Yes” or “No” from the drop down lists:

If Cells(2, i) = "Yes" Then

The code below adds a strikethrough to the font in the cell in row 1:

Range(Cells(1, i), Cells(1, i)).Font.Strikethrough _
= True

The code below removes the strikethrough from the font in the cell in row 1:

Range(Cells(1, i), Cells(1, i)).Font.Strikethrough _
= False

Excel VBA, Font Strikethrough, Example, Before
After selecting the “Yes” value from the drop down list a strikethrough is added to the font in cell D1:

Excel VBA, Font Strikethrough, Example, After
The drop down lists are created using data validation. The source for the data validation can be found in sheet 2:

Excel VBA, Data validation Source
For more information about creating drop down lists in Excel please see Excel VBA, Drop Down Lists.


Example 2, Get  Strikethrough Status:

In this example when the user presses the Run button, the program will loop through the cells in row 1. If the font in the cell has a strikethrough the cell in row 2 will be colored green:

'executes when the user presses the Run button
Private Sub btnRun_Click()
Dim i As Integer
'loops through the cells in row 1
For i = 1 To 4
    'checks if the font in the cell in row 1 has the
    'strikethrough property
    If Range(Cells(1, i), Cells(1, i)).Font.Strikethrough = True Then
        'changes the color in the cell in row 2 to green
        Range(Cells(2, i), Cells(2, i)).Interior.Color = 3394611
    Else
        'removes the color from the cell in row 2
        Range(Cells(2, i), Cells(2, i)).Interior.Color = xlNone
    End If
Next i
End Sub

The main function is the Button_Click event handler which executes when the user presses the Run button::

Private Sub btnRun_Click()

The code below loops through the cells in row 1:

For i = 1 To 4
...
Next i

The If statement checks if the cell in row 1 has the strikethrough property or not:

If Range(Cells(1, i), Cells(1, i)).Font.Strikethrough = True Then

The line below changes the fill color of the cell in row 2 to green. The number 3394611 is a color code. The color code was found using the macro recorder. For more information on this topic please see Excel VBA, Getting the Color Code Using the Macro Recorder.

Range(Cells(2, i), Cells(2, i)).Interior.Color = 3394611

The line below removes the fill color of the cell in row 2:

Range(Cells(2, i), Cells(2, i)).Interior.Color = xlNone

 In the figure below none of the cells in row 1 have strikethrough:

Excel VBA, Strike Through, Example 2
After adding strikethrough to some of the cells and pressing the Run button:

Excel VBA, Strike Through, Example 2, After

You can download the file and code related to this article here.

See also:

  • VBA, Excel Font Formatting
  • Excel VBA, Formatting Cells and Ranges Using the Macro Recorder

If you need assistance with your code, or you are looking for a VBA programmer to hire feel free to contact me. Also please visit my website  www.software-solutions-online.com

 

dmt.

Пользователь

Сообщений: 91
Регистрация: 23.06.2014

Добрый день! Подскажите, пожалуйста, как в Label указать зачеркнутый текст. Суть в следующем — при формировании документа данные из ячейки передаются в label (текст не зачеркнутый), при этом, если в ячейки нет данных, то в label должен отобразить знак [img]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAVCAYAAACzK0UYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACwSURBVEhL7ZXBDcMgDEVNt3IHouO409Bh6C6urVrAAVKBSU95khUJkTyZ7ySBBTiZm11P5ZJMUSWvB4QQBnWH59v2raDTNSYzIcj0RU62ssKxJEUdb44eg3AgSRxFAEjSj4+hJEU9JmTyGoS+JBOjduE9J6Mj2RN2S/l26aj+wrZOU94TfYAkARK2REEgUdharWXk5kIm3BZ2S5VsDrulSL5daOD9Qkd7109rij9IAD4aPGfP+HaBVgAAAABJRU5ErkJggg==[/img](по сути это зачеркнутая заглавная буква Z). А если в ячейку потом ввели текст, то в label он должен передаться как не зачеркнутый. Спасибо!

 

RAN

Пользователь

Сообщений: 7091
Регистрация: 21.12.2012

#2

21.11.2014 23:23:54

Код
Private Sub UserForm_Click()
Me.Label1.Font.Strikethrough = Not Me.Label1.Font.Strikethrough 
End Sub

Изменено: RAN21.11.2014 23:24:48

 

dmt.

Пользователь

Сообщений: 91
Регистрация: 23.06.2014

#3

22.11.2014 00:00:26

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

Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Label1.Font.Strikethrough = False
Label1.Caption = Range("f1")
If Range("f1") = "" Then
Label1.Caption = "Z"
Label1.Font.Strikethrough = True
End If
End Sub

Если этот код можно сократить, то помогите, пожалуйста, уж слишком большой он получается, учитывая то, что на листе будет около двадцати lable-ов (связанных с разными ячейками). Спасибо большое!

Изменено: dmt.22.11.2014 21:56:47

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

#4

22.11.2014 00:34:09

Цитата
dmt. пишет: связанных с разными ячейками

Контролируйте, по какой ячейке кликнули, и меняйте в соответствующем контроле.

 

dmt.

Пользователь

Сообщений: 91
Регистрация: 23.06.2014

#5

22.11.2014 00:51:02

А можно сделать что — то вроде таргета как с ячейками. Например,

Код
Sub ddd()
Label1.Font.Strikethrough = False
Label1.Caption = Range("f1")
If Label1.Caption = "" Then формат
End Sub
Код
Sub формат()
Target.Label.Caption = "Z"
Target.Label.Font.Strikethrough = True
End Sub 

Правда, не получается его привести в рабочий вид.

Изменено: dmt.22.11.2014 21:57:05

 

Максим Зеленский

Пользователь

Сообщений: 4646
Регистрация: 11.06.2014

Microsoft MVP

#6

22.11.2014 11:05:06

Можно, если ячейка попадает в нужный диапазон, побегать циклом по Labels и проверять у них ControlSource, если адрес совпадает — делать изменения.

F1 творит чудеса

Содержание

  1. Полужирный, Курсив, Размер, Зачеркивное, Подчеркивание, Вес
  2. Синтаксис
  3. Settings
  4. Замечания
  5. См. также
  6. Поддержка и обратная связь
  7. VBA Excel. Форматирование текста в ячейке (объект Font)
  8. Формат отображаемого значения
  9. Основные свойства объекта Font
  10. Примеры форматирования текста
  11. 5 комментариев для “VBA Excel. Форматирование текста в ячейке (объект Font)”
  12. Excel VBA Font (Color, Size, Type, and Bold)
  13. Key Notes
  14. VBA Font Object
  15. Syntax
  16. VBA Font Color
  17. 1. Using Color Constants
  18. 2. Using RGB
  19. VBA Font Size
  20. VBA Font Name
  21. VBA Font Bold, Italic, and Underline
  22. Other Useful Font Properties
  23. Шрифт ячейки VBA — изменение цвета, размера, стиля и т. Д.
  24. Шрифт ячейки VBA
  25. Изменить цвет шрифта
  26. vbColor
  27. Цвет — RGB
  28. ColorIndex
  29. Размер шрифта
  30. Жирный шрифт
  31. Название шрифта
  32. Стиль ячейки

Полужирный, Курсив, Размер, Зачеркивное, Подчеркивание, Вес

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

Синтаксис

object. Полужирный [ = логический ]
object. Курсив [= логическое ]
object. Размер [= валюта ]
object. StrikeThrough [= Boolean ]
object. Подчеркивание [= логическое значение ]
object. Weight [= Integer ]

Синтаксис свойств Bold, Italic, Size, StrikeThrough, Underline и Weight состоит из следующих частей:

Part Описание
object Обязательно. Допустимое имя объекта.
Boolean Необязательный параметр. Задает начертание шрифта.
Currency Необязательный параметр. Число, показывающее размер шрифта.
Integer Необязательный параметр. Задает начертание шрифта.

Settings

Значениями для Boolean являются:

Значение Описание
True Текст имеет заданный атрибут (т. е. жирный, курсив, размер, метки зачеркивания или подчеркивания либо плотность).
False Текст не имеет заданного атрибута (по умолчанию).

Свойство Weight принимает значения от 0 до 1000. Значение, равное нулю, позволяет системе подбирать наиболее подходящую плотность. Значение от 1 до 1000 показывает какую-нибудь конкретную плотность, где 1 представляет самый светлый тип и 1000 представляет самый темный тип.

Замечания

Эти свойства определяют визуальные характеристики текста:

  • Свойством Bold определяется, будет ли текст стандартным или жирным.
  • Свойством Italic определяется, будет ли текст стандартным или наклонным.
  • Свойством Size определяется высота отображаемого текста в пунктах.
  • Свойством Underline определяется, будет ли текст подчеркнутым.
  • Свойством StrikeThrough определяется, отображается ли текст с метками перечеркивания.
  • Свойством Weight определяется степень насыщенности шрифта.

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

Изменение значения Bold также изменяет значение Weight. При задании полужирным шрифтом значение True для параметра Вес равно 700; Для параметра Полужирным шрифтом значение False для параметра Вес равно 400. И наоборот, при установке значения «Вес » больше 550 значение «Полужирный» имеет значение True; Для параметра Weight (Вес) значение 550 или меньше , для параметра Полужирное значение равно False.

Выраженный в пунктах размер по умолчанию определяется операционной системой.

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Источник

VBA Excel. Форматирование текста в ячейке (объект Font)

Форматирование текста в ячейке при помощи кода VBA Excel. Объект Font и его основные свойства. Примеры изменения начертания строк в заданном диапазоне.

В этой статье рассмотрены свойства шрифта (объекта Font), определяющие внешнее оформление (начертание) видимого значения ячейки. Это касается не только текста (строк), но и визуального начертания отображаемых дат и числовых значений.

Формат отображаемого значения

Когда мы из кода VBA Excel записываем в ячейку текстовое или другое значение, оно отображается в формате, присвоенном данной ячейке. Это может быть формат:

  • рабочего листа по умолчанию;
  • установленный для диапазона пользователем;
  • примененный к диапазону из кода VBA Excel.

Если ячейка содержит текстовое значение, его начертание можно форматировать по отдельным частям (подстрокам). Такое форматирование доступно как в ручном режиме на рабочем листе, так и из кода VBA Excel.

У объекта Range есть свойство Font (шрифт), которое отвечает за форматирование (начертание) визуально отображаемого текста в ячейках рабочего листа. Его применение вызывает объект Font, который в свою очередь обладает собственным набором свойств, отвечающих за конкретный стиль начертания отображаемого значения.

Основные свойства объекта Font

Свойство Описание Значения
Name наименование шрифта «Arial», «Calibri», «Courier New», «Times New Roman» и т.д.
Size размер шрифта от 1 до 409 пунктов
Bold полужирное начертание True, False
Italic курсивное начертание True, False
FontStyle заменяет Bold и Italic «обычный», «полужирный», «курсив», «полужирный курсив»
Superscript надстрочный текст True, False
Subscript подстрочный текст True, False
Underline подчеркнутый текст True, False
Color* цвет текста от 0 до 16777215

*Color — это не единственное свойство, отвечающее за цвет отображаемого текста в ячейке. Оно также может принимать и другие значения, кроме указанных в таблице. Смотрите подробности в статьях Цвет текста (шрифта) в ячейке и Цвет ячейки (заливка, фон).

Примеры форматирования текста

Пример 1
В этом примере ячейкам диапазона «A1:A3» присвоим шрифты разных наименований:

Пример 2
В этом примере рассмотрим применение одного свойства объекта Font к одной ячейке:

Пример 3
Форматирование диапазона из нескольких ячеек:

Пример 4
Пример форматирования шрифта в разных ячейках по одному свойству:

5 комментариев для “VBA Excel. Форматирование текста в ячейке (объект Font)”

Пример 2 не к одной ячейке, а к трём. Где пример к одной.

Добрый день, Алексей Леонидович!
Во втором примере показано применение одного свойства объекта Font к одной ячейке.
К ячейке «A5»:
Range(«A5»).Font.Bold = True
К ячейке «A6»:
Range(«A6»).Font.FontStyle = «полужирный курсив»
К ячейке «A7»:
Range(«A7»).Font.Superscript = True

Применение нескольких свойств объекта Font к одной ячейке может выглядеть следующим образом:

Скажите пожалуйста, а есть ли способ подставлять вместо свойства ячейки (Bold, Underline, Italic) переменную чтобы в цикле последовательно менять свойства ячейки одной командой? Это упрощенный пример, так сказать в принципе, есть ли способ записи типа .Cells(1,1).Font.Переменная=True где Переменная это одно из Bold, Italic, Underline?
With Worksheets(«Конфигурация»)
For i = 1 To 3
Select Case i
Case 1
s = «Bold»
Case 2
s = «Italic»
Case 3
s = «Underline»
End Select
.Cells(15, 1).Font.?s? = True
Next i
End With

Здравствуйте, Сергей!
Если заменить «Underline» на «Bold Italic» или «обычный» , тогда можно так:

С «Underline» такой фокус не проходит, но возвращает к обычному стилю.

нет, увы. Спасибо конечно, что мимо не прошли, но я дал лишь упрощенную формулировку задачи. На самом деле я хочу работать с объектами WMI, коих, как известно огромное количество и у каждого куча свойств. Я не хочу писать многокилометровый код и все время добавлять строки. Я хочу вынести на лист excel список объектов и слева от каждого в колонках список свойств. И в цикле пробегать по объектам и по внутреннему циклу по свойствам, подставлять все по очереди и получать значения. И для добавления еще одного мне нужно будет только добавить на лист объект или свойство. В код при этом лазить не нужно будет.
Но я уперся в это вот, нужно как-то подставлять в объект вместо свойства переменную. Для этого я и сделал этот крошечный пример. Здесь никто конечно не будет перебирать свойства в таком дурацком цикле, тем более, что свойства разные по формату, кому-то нужны цифры, кому-то булево значение. Так что этот пример смысла не имеет, но дает понять задачу.

Источник

Excel VBA Font (Color, Size, Type, and Bold)

Written by Puneet for Excel 2007, Excel 2010, Excel 2013, Excel 2016, Excel 2019, Excel for Mac

Key Notes

  • To make changes in a font, you need to use the VBA Font object.
  • There is a total of 18 properties with the font object that you can access and make changes.

VBA Font Object

In VBA, there is a font object which you can use to change properties of the font from a cell, like, font color, font size, font type, and you can also apply bold and italic to the font.

Syntax

To use it, first, you need to define the cell address, which you can specify in the following ways.

VBA Font Color

To change the color of the font, you have two different ways:

1. Using Color Constants

Excel has a few color constants that you can use to apply color to the font. For example, if you want to apply the red color to the font in cell A1, the code would be like the below:

In the above code, after the font object, color is the property and you have used the vbRed constant that tells VBA to apply the red color to the cell A1. There is a total of eight constants that you can use:

  1. vbBlack: Black
  2. vbRed: Red
  3. vbGreen: Green
  4. vbYellow: Yellow
  5. vbBlue: Blue
  6. vbMagenta: Magenta
  7. vbCyan: Cyan
  8. vbWhite: White

2. Using RGB

You can also use the RGB color code to apply color to the font. RGB is the combination of red, green, and blue colors, where you can create a custom color using the code. Let’s say if you want to apply a combination of green and blue color to cell A1 the code would be:

VBA Font Size

Font object also gives you access to the size property of the font. Let’s say you want to apply the font size of 16 to the font in the cell A1, the code would be:

If you want to apply font size to all cells in a worksheet you can use the following code:

And if only want to apply font size to cells where you have data, the code would be:

Or to the selected cell.

VBA Font Name

In the same way, you can also change the font name using the name property of the font object. Let’s say you want to apply the “Consolas” font the cell A1. The code would be:

While using this property, you need to type the correct name of the font that you want to apply, and if somehow the name is incorrect, it won’t show you an error.

VBA Font Bold, Italic, and Underline

There are also properties that you can use to make the font bold, italic, and underline. Below are the codes that you need to write for this.

With these properties, you need to define TRUE or FALSE. So if the font is already bold or italic and you want to remove it, then you need to use FALSE to remove them.

Other Useful Font Properties

Here add a few more properties that can be useful for you (Strikethrough, Subscript, and Superscript).

Источник

Шрифт ячейки VBA — изменение цвета, размера, стиля и т. Д.

Шрифт ячейки VBA

В VBA вы можете изменить свойства шрифта с помощью свойства шрифта VBA объекта Range. Введите следующий код в редактор VBA, и вы увидите список всех доступных вариантов:

Ниже мы обсудим несколько наиболее распространенных свойств.

Изменить цвет шрифта

Есть несколько способов установить цвета шрифта.

vbColor

Самый простой способ установить цвета — использовать vbColors:

1 Диапазон («a1»). Font.Color = vbRed

Однако количество доступных цветов очень ограничено. Это единственные доступные варианты:

Цвет — RGB

Вы также можете установить цвета на основе RGB (красный, зеленый, синий). Здесь вы вводите значения цвета от 0 до 255 для красного, зеленого и синего. Используя эти три цвета, вы можете сделать любой цвет:

1 Диапазон («a1»). Font.Color = RGB (255,255,0)

ColorIndex

VBA / Excel также имеет свойство ColorIndex. Это делает вам доступными предварительно созданные цвета. Однако они хранятся в виде порядковых номеров, что затрудняет определение того, что это за цвет:

1 Диапазон («a1»). Font.ColorIndex =…

Мы написали статью о цветовых кодах VBA, включая список кодов VBA ColorIndex. Там вы можете узнать больше о цветах.

Размер шрифта

Это установит размер шрифта на 12:

1 Диапазон («a1»). Размер шрифта = 12
1 Диапазон («a1»). Размер шрифта = 16

Жирный шрифт

Установить полужирный шрифт ячейки легко:

1 Диапазон («A1»). Font.Bold = True

или очистить форматирование полужирным шрифтом:

1 Диапазон («A1»). Font.Bold = False

Название шрифта

Чтобы изменить название шрифта, используйте Имя имущество:

1 Диапазон («A1»). Font.Name = «Calibri»
1 Диапазон («A1»). Font.Name = «Arial»
1 Диапазон («A1»). Font.Name = «Times New Roman»

Стиль ячейки

Excel предлагает возможность создавать «стили» ячеек. Стили можно найти в Главная Лента> Стили:

Стили позволяют сохранить желаемое форматирование ячеек. Затем назначьте этот стиль новой ячейке, и все форматирование ячейки будет немедленно применено. В том числе размер шрифта, цвет ячеек, состояние защиты ячеек и все остальное, что доступно в меню форматирования ячеек:

Лично для многих моделей, над которыми я работаю, я обычно создаю стиль ячейки «Вход»:

1 Диапазон («a1»). Style = «Input»

Используя стили, вы также можете легко определять типы ячеек на вашем листе. В приведенном ниже примере выполняется цикл по всем ячейкам на листе и изменяется любая ячейка со Style = «Input» на «InputLocked»:

Источник

Var13
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 11.04.2007 (Ср) 10:54

Excel — как выделить строки с зачеркнутым шрифтом ?

Задача в Excel следующая:

Иммется строки с обычным шрифтом и с зачёркнутым(т.е. устаревшие данные), необходимо оставить строки только с незачеркнутым шрифтом.

Как Excel — как выделить строки с зачеркнутым шрифтом с помощью формулы, чтобы в соседней ячеке получить какой нибудь флаг о таком форматировании ?

=ЯЧЕЙКА(«формат»;X28) — не дает разности в результатах зачеркнутого и незачеркнутого шрифта.

Есть идеи ???

Сергей


alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 03.09.2007 (Пн) 16:58

Средствами формул этого не сделать, пожалуй.

Макросы не подходят?

Lasciate ogni speranza, voi ch’entrate.


Var13
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 11.04.2007 (Ср) 10:54

Excel — как выделить строки с зачеркнутым шрифтом ?

Сообщение Var13 » 06.09.2007 (Чт) 7:25

Можно и макросом, но каким оператором воять ?

Зачеркнуть текст — получается:

Range(«A2»).Select

With Selection.Font

.Strikethrough = True

End With

а как найти по зачеркнутому?

Сергей


bi-lya
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 07.08.2006 (Пн) 15:36

Сообщение bi-lya » 06.09.2007 (Чт) 7:34

Перебирать и

If .Strikethrough = True Then MsgBox «»



Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Hi Chaegie,
Not sure but I thought you were looking for a C# solution. Here is something quick and dirty. I’m sure there is a more eloquent solution but this works. And, at the very least, it shows the C# syntax to detect strike-through as a starting point for you.

using Microsoft.Office.Core;
using Excel = Microsoft.Office.Interop.Excel;


//open some workbook and get a spreadsheet…
Excel.Application app = new Excel.Application();

Excel.Workbook workbook = app.Workbooks.Open(«workbook name»,
Type.Missing, Type.Missing,
Type.Missing, Type.Missing,
Type.Missing, Type.Missing,
Type.Missing, Type.Missing,
Type.Missing, Type.Missing,
Type.Missing, Type.Missing,
Type.Missing, Type.Missing);

//get the worksheet from the workbook
Excel.Worksheet ws = (Excel.Worksheet)app.Sheets[«worksheet name»];


//set a range equal to a single cell that has your text that needs cleaned
Excel.Range range = worksheet.get_Range(«somecell», «somecell»);

string clean_string = CleanStrikethroughChars(Excel.Range range);
//now you can replace the cell value with the clean_string value

string CleanStrikethroughChars(Excel.Range range)
{
string s=»»;
int char_index = 1;
int length = range.Cells.Value2.ToString().Length;

while(char_index<length)
{
//just keep building the string with any char that is not strikethrough
if(!(bool)range.Cells.get_Characters(char_index,1).Font.Strikethrough;)
s+=range.Cells.get_Characters(char_index,1).Text;

char_index++;
}
return s;
}

Понравилась статья? Поделить с друзьями:
  • Excel vba запустить макрос при открытии
  • Excel vba запуск макроса по кнопке
  • Excel vba запуск автоматически
  • Excel vba запросы к таблице
  • Excel vba запрос к sql server