У меня есть функция, которая выбирает диапазон на основе целого набора критериев из Sheet2. Я пытаюсь скопировать этот диапазон и показать/вставить на Sheet1 или показать его в окне сообщения.показать диапазон в окне сообщения VBA
Public Function findrulepos(target As Range, destination As Range) As String
Dim ruleStart As Range
Dim ruleEnd, ruleEnd2 As String
Dim Xcell, PasteRangeIndexCell As Range
Dim RuleRange As Range
Dim LastCell As Range
Dim FirstCell, IndexCell As Range
Dim WholeRule As Range
MaxRule = 100000
MaxRow = 100000
Sheets("ResRules").Select
For i = 2 To MaxRow
If CStr(ThisWorkbook.Sheets("ResRules").Range("A" & i).Value) = CStr(target.Value) Then
Set ruleStart = ThisWorkbook.Sheets("ResRules").Range("B" & i) '.offset(0, 1)
Exit For
End If
Next i
'MsgBox (ruleStart.address)
Set FirstCell = ruleStart.offset(1, -1)
Set IndexCell = FirstCell
Do Until IndexCell.Value <> "" Or IndexCell.Row >= MaxRow
Set IndexCell = IndexCell.offset(1, 0)
Loop
If IndexCell.Value <> "" Then
Set LastCell = IndexCell.offset(-1, 1)
MsgBox (LastCell.Value)
Else
Set LastCell = Nothing
End If
Set WholeRule = ThisWorkbook.Sheets("ResRules").Range("" & ruleStart.address & ":" & LastCell.address & "")
End Function
Это весь код, чтобы дать мне диапазон я требую
Я добавил часы и может видеть я получаю правильный выбор, т.е. $ B $ 3: $ B $ 6, но не могу скопировать этот диапазон Спецификацию 1
Можете ли вы изменить свой вопрос, чтобы включить код, который вы пытаетесь использовать для копирования диапазона? Вы должны использовать 'WholeRule.Copy Sheets (« Sheet1 »). Range (« A1 »)'. – ARich
Когда вы говорите о функции, вы имеете в виду «пользовательскую функцию», то есть она вызывается из листа или обычной функции VBA? –
@ARich в целом код добавлен – grahamie