Не могу понять, почему не работает макрос.
Вроде бы и форматы пытался менять, но всё равно не получается. При этом если сам ввожу какое-то значение на обоих листах, а не использую выгрузку из 1С, то макрос находит нужное значение.
| Код |
|---|
Sub FindValueFromActiveCell()
Dim SearchValue As String
Dim FoundCell As Range
Dim SearchRange As Range
Dim SalesSheet As Worksheet
' Проверяем, существует ли лист "Продажи"
On Error Resume Next
Set SalesSheet = Worksheets("Продажи")
On Error GoTo 0
If SalesSheet Is Nothing Then
MsgBox "Лист 'Продажи' не найден!", vbExclamation
Exit Sub
End If
' Значение для поиска берется из активной ячейки
SearchValue = Replace(ActiveCell.Value, " ", "")
' Если ячейка пустая, выходим из макроса
If SearchValue = "" Then
MsgBox "Активная ячейка пуста!", vbExclamation
Exit Sub
End If
' Задаем область поиска - весь лист "Продажи"
Set SearchRange = SalesSheet.UsedRange
' Ищем значение на листе "Продажи"
Set FoundCell = SearchRange.Find(What:=SearchValue, LookIn:=xlFormulas)
' Проверяем, найдено ли значение
If Not FoundCell Is Nothing Then
' Активируем лист "Продажи" и переходим к найденной ячейке
SalesSheet.Activate
FoundCell.Select
MsgBox "Значение '" & SearchValue & "' найдено в ячейке: " & FoundCell.Address & " на листе 'Продажи'"
Else
MsgBox "Значение '" & SearchValue & "' не найдено на листе 'Продажи'!", vbInformation
End If
End Sub |