Я пытаюсь найти ячейки в определенном столбце со строкой (например, Имена), скопировать соответствующие ячейки в столбце справа (т.е. смещение (0,1)), а затем вставить его в столбец в другой лист. У меня есть следующий код, чтобы найти переменную диапазона, который я хочу. Однако я не могу выбрать его на другом листе!
Когда я использую Sheets(1).MyRange.Copy
, он не принимает его. Я имею в виду диапазон неправильно? Что я делаю не так?
Вот код, который я использую для получения MyRange:
Option Explicit
Sub SelectByValue(Rng1 As Range, Value As Double)
Dim MyRange As Range
Dim Cell As Object
'Check every cell in the range for matching criteria.
For Each Cell In Rng1
If Cell.Value = Value Then
If MyRange Is Nothing Then
Set MyRange = Range(Cell.Address)
Else
Set MyRange = Union(MyRange, Range(Cell.Address))
End If
End If
Next
End Sub
Sub CallSelectByValue()
'Call the macro and pass all the required variables to it.
'In the line below, change the Range, Minimum Value, and Maximum Value as needed
Call SelectByValue(Sheets(1).Range("A1:A20"), "Tom")
End Sub
Еще один вопрос: Вместо того, чтобы указывать точный диапазон, на который нужно смотреть (например, «A1: A20»), я хотел бы посмотреть на все столбцы A. Но я не хочу использовать («A: A» ), поэтому он не будет смотреть на все строки A. Разве нет метода для поиска только в ячейках, которые имеют записи в столбце A?
Большое спасибо.
Al