Как проверить, существует ли ячейка в пределах диапазона на другом листе, а затем сослаться на нее - PullRequest
0 голосов
/ 23 октября 2018

Все, что я хочу сделать, это проверить, находится ли Имя (Ячейка B2) в Рабочем листе «Загрузить» в рабочем листе «Данные» в столбце А, и если это так, вернуть сообщение «Имя уже существует».В идеале я хотел бы, чтобы макрос затем перенес меня в строку, где существует имя.Любая помощь будет оценена.Я пробовал другие темы, и мой код просто падает.Поэтому не могли бы вы добавить в раздел, что после обнаружения, если дубликат существует в листе «Данные», он помещает меня в лист «Данные» и находит его.

Function InRange(Range1 As Range, Range2 As Range) As Boolean
    ' returns True if Range1 is within Range2
    InRange = Not (Application.Intersect(Range1, Range2) Is Nothing)
End Function


Sub TestInRange()

Dim copySheet As Worksheet
Dim pasteSheet As Worksheet

Set copySheet = Worksheets("Upload")
Set pasteSheet = Worksheets("Data")

    If InRange(copySheet.Range("B2"), pasteSheet.Range("A2:A300")) Then
        ' code to handle that the cell is within the right range
        MsgBox "Name exists"
    Else
        ' code to handle that the cell is not within the right range
        MsgBox "Name does not exist"
    End If
End Sub

1 Ответ

0 голосов
/ 23 октября 2018
Sub test()

With Worksheets("Data").Range("a1:a500")
    Set c = .Find(Worksheets("Upload").Range("B2"), LookIn:=xlValues)
    If Not c Is Nothing Then
        MsgBox ("Name Exists")
            Else
        ' code to handle that the active cell is not within the right range
        MsgBox "Name does not exist"
    End If

    End With

End Sub

На самом деле довольно просто

...