Я разрабатываю макрос, чтобы исключить пустые строки из листа, который используется для ввода настраиваемых заказов. Допустим, что строки 7,8,9 и 12 имеют содержимое. Я хочу переместить содержимое строки 12 в строку 10.Работа с массивами VBA Excel
До сих пор я располагал последнюю занятую строку в столбце c, а затем определял, является ли ячейка в строке в столбце e пустой или нет.
Теперь я хочу поместить значение в массив либо 0 (пустой), либо 1 (занятый). Я получаю ошибку (объект требуется) в строке кода, которая устанавливает значение камней (1) в 1 или 0.
Что происходит не так?
Dim ws As Worksheet
Dim rng1 As Range
Set ws = Sheets("Belmont")
Set rng1 = ws.Columns("c").Find("*", ws.[c1], xlValues, , xlByRows, xlPrevious)
Dim zen As String
zen = rng1.Address(0, 0)
Range(zen).Select
Set ruby = Window.ActiveCell.Row - 11
Dim stones() As Boolean
ReDim stones(1 To ruby)
If IsEmpty(ActiveCell.Offset(2, 0)) Then
Set stones(1) = 0
Else
Set stones(1) = 1
End If
msg55 = MsgBox(stones(1), vbDefaultButton1, "Gekko")
Спасибо, Степан! Теперь я отредактировал свой вопрос, что получил больше ответа от вашего ответа. Мне интересно, почему я получаю объект, требуемый при установке элемента массива в значение ... –
@RichardPullman Похоже, вы поняли, как использовать массивы. В начале учебного руководства обычно есть целая глава, посвященная внедрению массивов. Похоже, что вы достигли определенного прогресса - вы изменили тип массива от double до boolean (что имеет больше смысла для вашей ситуации, потому что вы просто сохраняете 1 и 0). - Но вы действительно захотите изучить, как использовать массивы. Любой может пропустить вас, как их использовать, но вам лучше просто прочитать учебник. Вам захочется узнать, как итерации. Однако, если вы просто хотите это сделать, вам не нужны массивы. – Stepan1010
Да, спасибо. Хороший человек. Я должен получить лучшее понимание по теме, прежде чем я приду сюда с вопросами. –