Я пытаюсь запустить программу, которая позволяет мне видеть, какие комнаты в колледже бесплатны в определенное время в Microsoft Excel.Перемещение до определенного диапазона ячеек
Проблемы я имею после того как я определить пустой слот класса:
- как doIi кода, чтобы идти обратно в имена всех номеров класса люкса (Все имена в строке 2)
- и сохраните значение этого.
Я пробовал компенсировать, но это не сработало бы для меня.
Я добавил Sample Data для дальнейшего уточнения
Public Sub EXq3()
Dim rnR1 As Range, roomNum As Integer
Const rooms = 13 ' Counter amount
Set rgR1 = ActiveCell.Offset(0, 1)
timeSolt = InputBox("What time") ' asks user what time to enter
Cells.find(What:=timeSolt, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate ' search and find code
For counter = 1 To rooms
If rgR1.Value = "" Then roomNum = rgR1.Offset(Range(2, rgR1.Value)) ' attempt at getting it to go to range 2
rgR1.Activate
Set rgR1 = rgR1.Offset(0, 1)
Next counter
MsgBox roomNum
End Sub
Может быть, вы можете изменить свой код, старайтесь не активировать клетки в вашем VBA, просто получить ссылку и делать то, что вы хотеть сделать. – Prisoner
Я предлагаю вам использовать массивы и циклы! Это будет гораздо более читабельным и эффективным!;) – R3uK
не уверен, что вы подразумеваете под 'rgR1.Offset (Range (2, rgR1.Value))'? чего вы пытаетесь достичь? также в вашем сообщении вы упоминаете «как мне его закодировать, чтобы вернуться к именам всех комнат класса (все имена находятся в диапазоне 2)» - где вы определяете и «задаете диапазон2»? –