Повторяю список ячеек в определенном столбце, чтобы найти конец списка значений - PullRequest
0 голосов
/ 04 февраля 2019

Я пытаюсь подсчитать количество ячеек в столбце, который содержит значение.Идея сценария состоит в том, чтобы просмотреть список значений (строковых или длинных) и выяснить, пустая ячейка или нет.Когда он достигает пустой ячейки, он прекращает подсчет и затем выводит msgbox общее количество ячеек, содержащих значение, в этом столбце.

Я дал это назад, используя следующий код, и я постоянно продолжаю получать Excel без ответа.Я не уверен, где я иду не так.

    Sub Tester()


    Blockquote

Dim CellNumber As Long
Dim CellLetter As String
Dim Cell As String
Dim Total as Long
Dim cellEmpty As Boolean
Letter = "A"
Number = 1

Cell = CellLetter & CellNumber

Do
If Not IsEmpty(Range(Cell).Value) Then
CellNumber = CellNumber + 1
Total = Total + 1
ElseIf IsEmpty(Range(Cell).Value) Then
cellEmpty = True
End If
Loop While cellEmpty = False


End Sub

Ответы [ 2 ]

0 голосов
/ 04 февраля 2019

Спасибо, что ответили.Я отсортировал это со следующим:

Sub Tester()

Dim CellNumber As Integer
Dim CellLetter As String
Dim Cell As String
Dim Total As Long
Dim cellEmpty As Boolean
CellLetter = "A"
CellNumber = 1
Total = 0

Do
Cell = CellLetter & CellNumber
If Not IsEmpty(Range(Cell).Value) Then
CellNumber = CellNumber + 1

Total = Total + 1

ElseIf IsEmpty(Range(Cell).Value) Then
cellEmpty = True
End If
Loop While cellEmpty = False

MsgBox Total
End Sub
0 голосов
/ 04 февраля 2019

Вы можете попробовать:

Option Explicit

Sub test()

    Dim Lastrow As Long, i As Long, Counter As Long

    'Change Sheet name (Sheet1) if neede
    With ThisWorkbook.Worksheets("Sheet1")
        Lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row

        Counter = 0

        'Change starting point (1) if needed
        For i = 1 To Lastrow
            'Change Column (A) if needed
            If .Range("A" & i).Value = "" Then
                MsgBox "The total number of non empty cells are " & Counter & "."
            Else
                Counter = Counter + 1
                    If i = Lastrow Then
                        MsgBox "The total number of non empty cells are " & Counter & "."
                    End If
            End If
        Next i
    End With

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