Создание VBA, если затем перебрать диапазон ячеек - PullRequest
0 голосов
/ 10 января 2019

У меня есть два бита кодов, которые работают отдельно, но я не могу понять, как их объединить. Я хочу пройти через столбец чисел и проверить, если они> = 100, а затем изменить результат, если истина.

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

Range("D1:D" & Final & "").

И я успешно проверил одну ячейку, прямо указав ее следующим образом:

Sub CellTest()
Dim cell As Integer
cell = Range("D7").Value
If cell >= 100 Then
Range("D7").Value = "NoSplit"
End If
End Sub

Кто-нибудь может мне помочь скомбинировать их, чтобы они проходили по каждой строке и проверяли значение?

Обновление:

Эта электронная таблица загружается с помощью сценария на веб-страницу и каждый раз имеет другое имя. Есть несколько вещей, которые я узнаю заранее, например ...

  • Есть только 1 лист
  • Рассматриваемый столбец - это столбец D
  • столбец D будет содержать только цифры без десятичных знаков
  • Я не буду знать, сколько строк в этом столбце раньше времени

Ответы [ 2 ]

0 голосов
/ 31 января 2019

Это то, что я в итоге использовал ...

Public Sub testforhundred()
    Dim rcell As Range, rng As Range
    Set rng = Application.ActiveSheet.Range("D1:D" & Application.ActiveSheet.UsedRange.Rows.Count)
    For Each rcell In rng.Cells
        If rcell.Value >= 100 Then rcell.Value = "NoSplit"
    Next rcell
End Sub
0 голосов
/ 10 января 2019
Public Sub testforhundred()
    Dim rcell As Range, rng As Range
    Set rng = ThisWorkbook.Worksheets("Sheet1").Range("D1:D" & ThisWorkbook.Worksheets("Sheet1").UsedRange.Rows.Count)
    For Each rcell In rng.Cells
        If rcell.Value >= 100 Then rcell.Value = "NoSplit"
    Next rcell
End Sub

это легко комбинирует их. Однако, если количество строк велико, это займет много времени из-за взаимодействия с объектом листа

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