В VBA я хочу заполнить пустые ячейки в диапазоне нулем (0)
Ниже, если моя функция:
Function FillEmptyCellWith0(r As Range)
Dim n_rangeWidth As Integer
Dim n_rangeHeight As Integer
Dim n_i As Integer
Dim n_j As Integer
Dim n_value As Integer
n_rangeWidth = r.Columns.Count
n_rangeHeight = r.Rows.Count
MsgBox "Range width = " & n_rangeWidth
MsgBox "Range height = " & n_rangeHeight
For n_j = 1 To n_rangeWidth
For n_i = 1 To n_rangeHeight
n_value = r.Cells(n_j, n_i).value
MsgBox "Cell (" & n_j & ", " & n_i & ") = " & n_value <----- MARK1
If IsEmpty(r.Cells(n_j, n_i)) Then
MsgBox "Empty cell"
r.Cells(n_j, n_i).value = "0" <----- MARK2
End If
Next n_i
Next n_j
С помощью следующей таблицы:
------+-------
| 1 | |
------+-------
| | 3|
------+-------
У меня есть две пустые ячейки, которые я хочу заполнить нулями в (1, 2) и (2, 1).
Я вызываю функцию следующим образом: FillEmptyCellWith0(A1:B2)
Когда я достигаю «MARK1», при втором повороте цикла он отображает:
Cell (1, 2) = 0
Empty cell
и затем останавливается.
Когда я отслеживаю код, я вижу егоостанавливается на MARK2.
Вы понимаете, почему?
Можете ли вы сказать мне, как присвоить нулевое значение (0) этим пустым ячейкам?
EDIT 1
Видимо, я не могу этого сделать.
https://support.microsoft.com/en-us/help/170787/description-of-limitations-of-custom-functions-in-excel