Есть ли способ, чтобы в VBA пустая ячейка не считалась 0? - PullRequest
1 голос
/ 17 января 2020

плохо знаком с vba и пытаюсь сделать что-то очень простое c. У меня есть столбец, полный чисел, который также содержит пустые ячейки. Когда я пытаюсь сделать это оператор If, Excel рассматривает пустые ячейки как значение 0. Я хочу, чтобы только ячейки с номерами имели значение «Alerted Transaction», а не пустые ячейки. Любая помощь приветствуется. Спасибо.

If Columns("J").Value > 0 Then Columns("J").Value = "Alerted Transaction"

Ответы [ 3 ]

1 голос
/ 17 января 2020
For Each c In Worksheets("Sheet1").Range("J1:J10").Cells 
    If Not IsEmpty(c.Value) Then c.Value = "Alert" 
Next 

Как указывало @BigBen, вы, вероятно, не хотите IsEmpty весь столбец, этот код проверяет строки с 1 по 10 в столбце J. Вы можете соответствующим образом адаптировать код к вашему сценарию.

См. do c для IsEmpty и do c для For l oop

1 голос
/ 17 января 2020

Определите диапазон, который вы хотите проверить, l oop каждую ячейку в диапазоне и проверьте наличие пустых ячеек.

dim myWS As Worksheet
set myWS = ThisWorkbook.Worksheets("myWorksheet")

With myWS
   Dim loopRange As Range
   set loopRange = .Range(.Cells(2,10),.Cells(.UsedRange.Rows.Count,10))
End with
dim currCell As Range
for each currCell in loopRange
   if currCell.Text<>vbNullString Then
      currCell.Offset(0,3).Value = "Alerted Transaction"
   end if
next

Есть лучшие способы получить последнюю заполненную ячейку в столбце, но то есть на другой день :) 1004 *

0 голосов
/ 17 января 2020

Вы можете проверить, является ли ячейка пустой, используя функцию IsEmpty. Я не особо балуюсь с Excel, поэтому не знаю, как бы вы проверили диапазон ячеек.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...