Я уже пытался использовать этот код, и он не работает
Sub Bold()
With Sheets("1470")
For Each Cell In Range("J:J")
If Cell.Value = "N/A" Then
Cell.Font.bold = True
End If
Next Cell
End With
End Sub
Вывод, который я хочу выполнить - каждая ячейка в столбце J, содержащая «N / A», выделяется жирным шрифтом
Я получил ошибку
"Несоответствие типов"
1
MR. BLANK
16 Авг 2019 в 09:09
2 ответа
Лучший ответ
Этот ответ основан на предположении о том, что вы ищете #N/A
ошибки на своем листе, вызванные теми же формулами в этом столбце.
Sub Test()
Dim rng1 As Range, rng2 As Range
With ThisWorkbook.Sheets("1470")
Set rng1 = .Range("J1:J" & .Range("J" & .Rows.Count).End(xlUp).Row)
If .Evaluate("=SUM(--ISNA(" & rng1.Address & "))") > 0 Then
Set rng2 = Intersect(rng1, rng1.SpecialCells(xlCellTypeFormulas, xlErrors))
rng2.Font.Bold = True
End If
End With
End Sub
1
JvdV
16 Авг 2019 в 09:26
- Не используйте
J:J
, это замедлит ваш код. Найдите последний ряд, а затем отметьте этот диапазон. - Для специальной проверки
#N/A
используйтеCVErr()
, как показано ниже. - Если вы хотите проверить наличие ошибок, используйте
IsError()
, как упомянуто @PawelCzyz.
Это то, что вы пытаетесь?
With Sheets("1470")
lrow = .Range("J" & .Rows.Count).End(xlUp).Row
For Each cell In Range("J1:J" & lrow)
If CVErr(cell.Value) = CVErr(xlErrNA) Then
cell.Font.Bold = True
End If
Next cell
End With
2
Siddharth Rout
16 Авг 2019 в 07:16
Похожие вопросы
Новые вопросы
excel
Только для вопросов по программированию объектов или файлов Excel или по разработке формул. Вы можете комбинировать тег Excel с тегами и вопросами VBA, VSTO, C#, VB.NET, PowerShell, OLE и другими тегами и вопросами, связанными с программированием, если это применимо. НЕ используйте с другим программным обеспечением для работы с электронными таблицами, например [google-sheets].