Так что у меня возникла проблема со ссылкой на рабочий лист. Я намереваюсь открыть поле ввода всякий раз, когда я нахожу пустую ячейку в столбце B по всей книге, поэтому я могу ввести и изменить значение пустой ячейки. Я, однако, получает сообщение об ошибке (Первом говорю подписку из диапазона, и я изменил его, так что теперь он говорит, что приложение/объект, определенный ошибка) на этой линии:
For i = 0 To Sheets(j).Cells(Rows.Count, i).End(xlUp).Row
Ссылаясь на рабочий лист
Код:
Dim Country As Variant
Dim Capital As Variant
Dim CapitalValue As Variant
Dim i As Integer
Dim j As Integer
' Select *first line of data*
Range("B1").Select
' Loop to stop when an empty cell is reached.
For j = 1 To Worksheets.Count
j = ActiveSheet.Index
Range("B1").Select
For i = 0 To Sheets(j).Cells(Rows.Count, i).End(xlUp).Row
'Select the Country Cell
ActiveCell.Offset(i, 0).Select
CapitalValue = ActiveCell.Value
'If Country is empty
If CapitalValue = "" Then
MsgBox ("No more Capitals")
Else
'Input Capital values
CapitalValue = ActiveCell.Value
Country = ActiveCell.Offset(0, -1).Value
Capital = InputBox("Capital of " & Country, "Capital Input")
CapitalValue = Capital
End If
Next i
Next j
с уважением
Я думаю, что это потому что вы используете я дважды 'Для я = 0 листам (J) .Cells (Rows.Count, intColNumber ) .END (xlUp) .Row' –
Листы(). Клетки() метод должен иметь аргументы больше 0. 'Листы (J) .Cells (Rows.Count , i +1) .End (xlUp) .Row' – JerryT