Начать цикл счетчика в определенной ячейке и завершить в определенной ячейке - PullRequest
0 голосов
/ 16 мая 2018

Я пытаюсь создать счетчик цикла, который начинается в диапазоне (A9) и заканчивается в диапазоне (A38) макс.Ячейки выше «A9» и ниже «A38» имеют текст и являются заблокированными ячейками.Я нашел некоторый код на этом сайте и попытался изменить его, чтобы он соответствовал моим потребностям, но я получаю («Ошибка времени выполнения« 91 »: переменная объекта или переменная блока не установлена»).Не уверен, что это значит точно.Вот мой код ниже.

Private Sub cmdsGO_Click()
Dim myWrkBk As Workbook
Dim mySheet As Worksheet
Dim startCell As Range
Dim lastRow As Range
Dim i As Long

Set myWrkBk = ActiveWorkbook
Set mySheet = myWrkBk.Sheets("Sheet1")
Set startCell = Range("'Sheet1'! A9")

lastRow = Range("'Sheet1'!A38") 

While i <= lastRow
   i = i + 1
Wend    
End Sub

Я использую командную кнопку для запуска цикла.Диапазон («A9») до диапазона («A38») составляет 30 номеров.Так что, конечно, счетчик должен начинаться с 1 и заканчиваться на 30, но это не так.Спасибо.

Исходное местоположение, в котором я нашел этот код: Цикл, чтобы начать с ячейки и удалить следующие 600 в столбце

1 Ответ

0 голосов
/ 16 мая 2018

Попробуйте ряд данных.

Option Explicit

Private Sub cmdsGO_Click()
    Dim myWrkBk As Workbook
    Dim mySheet As Worksheet

    Set myWrkBk = ActiveWorkbook
    Set mySheet = myWrkBk.Sheets("Sheet1")
    With mySheet
        .Cells(9, "A") = 1
        .Range(.Cells(9, "A"), .Cells(38, "A")).DataSeries Rowcol:=xlColumns, Type:=xlLinear, Step:=1
    End With
End Sub

Ваш собственный код не работал из-за того, что объекту диапазона (например, lastRow) сначала было присвоено значение из диапазона ("Sheet1"! A38 ") вместо того, чтобы быть установленным в объект диапазона, а затем использован как целое число в Для следующего цикла.

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