2016-09-29 7 views
0

Можно сделать диапазон таким же, как «ИЛИ» ... Любые идеи для его решения?Выбор нескольких диапазонов с использованием макроса

Sub search() 

Dim myArray As Variant 
Dim mRange As Range 
Dim mFCell As String 
Dim mCell As Range 
Dim mName As String 

Dim i As Integer 
Dim finalrow As Integer 

myArray = Range("J2:J4").Value 

mName = myArray.Value 

finalrow = Sheets("Sheet1").Range("A10000").End(xlUp).Row 

Set mRange = Sheets("Sheet1").Range("A:A") 
Set mCell = mRange.Find(What:=mName, MatchCase:=False, lookAt:=xlPart) 

For i = 2 To finalrow 

      If Sheets("Sheet1").Cells(i, 1) = mCell.Value Then 
       mFCell = mCell.Address 
       Range(Cells(i, 1), Cells(i, 1)).Copy 
       Range("I1000").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats 
       'Sheets("Sheet2").Range("B1000").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats 
       Set mCell = mRange.FindNext(mCell) 

      End If 
Next i 

End Sub 

Итак, мне нужно найти multipleRange, который был объяснен в комментарии.

+0

вы спрашиваете, как поместить несколько ячеек (которые не рядом друг с другом) в диапазоне? Или ваш вопрос о получении свойства .Value' для многоядерных диапазонов? – arcadeprecinct

+0

@arcadeprecinct Oh my .. Извините, что я хочу спросить о получении свойства .Value многоячеистого диапазона Я не идею, чтобы решить эту проблему. – Beans

+0

Вы имеете в виду прерывистый диапазон или непрерывный («прямоугольный») диапазон? – arcadeprecinct

ответ

0

Чтобы назначить значение диапазона в массив необходимо объявить массив как вариант

Dim myArray As Variant 
myArray = someRange.Value 

В результате получается массив размеров (от 1 до числа строк) х (1 к числу столбцы), даже если диапазон является одномерным (только одна строка или столбец). Таким образом, значения

myArray = Range("J2:J4").Value 

будет myArray(1, 1), myArray(2, 1), myArray(3, 1)

+0

см. Мое новое редактирование. Я применяю этот код – Beans

+0

@Beans Я добавил информацию – arcadeprecinct

+0

Я пробовал код, но его работает только для первого массива, для остальных его отображающая ошибка «объектная переменная или с переменной блока не установлена». – Beans

Смежные вопросы