Страницы: 1
RSS
Смещение ячейки по условию в макросе
 
Код
Sub Get_Value_From_Closed_Book()
    Dim sShName As String, sAddress As String, vData() As Variant, D$, Sch$, i&, j&
    Application.ScreenUpdating = False
    Workbooks.Open "C:\Users\bel\Documents\1.xlsx"
    sAddress = "A1:P58"
    vData = Sheets("12").Range(sAddress).Value
    ActiveWorkbook.Close False
    D = InputBox("Размер в дюймах, дробная часть через запятую")
    Sch = InputBox("Стандарт без 'Sch'")
     
    For i = 3 To UBound(vData, 1)
        If vData(i, 1) = D Then
            Exit For
        End If
        If i = UBound(vData, 1) Then Exit Sub
    Next i
    ActiveCell.Value = vData(i - 1, 2)
    For j = 3 To UBound(vData, 2)
        If vData(1, j) = Sch Then
            Exit For
        End If
        If j = UBound(vData, 2) Then Exit Sub
    Next j
     
    ActiveCell.Offset(, 1).Value = vData(i - 1, j)
    ActiveCell.Offset(1, 0).Range("A1").Select
End Sub


Подскажите как сделать оффсет как в конце макроса только чтобы он выполнялся в случае если Sch имеет пустое значение?
Изменено: bortnik27 - 23.08.2017 16:22:50
 
Какую функцию выполняет этот кусок кода в процедуре?
Код
    For i = 3 To UBound(vData, 1)
        If vData(i, 1) = D Then
            Exit For
        End If
        If i = UBound(vData, 1) Then Exit Sub
    Next i
А конкретно
Код
       If vData(i, 1) = D Then
            Exit For
        End If
В чем фишка , так сказать?
"Все гениальное просто, а все простое гениально!!!"
 
Nordheim, изменен вопрос
Изменено: bortnik27 - 23.08.2017 16:23:16
 
 Можно файл пример, а то сложно уловить суть работы процедуры. Непонятно зачем записываются данные в ActiveCell, в этом случае нужно отслеживать чтобы активной  ячейкой была нужная, это ведет к ошибкам записи данных. Человеческий фактор!  :)

Изменено: Nordheim - 23.08.2017 16:45:58
"Все гениальное просто, а все простое гениально!!!"
 
Nordheim, так он же из закрытой книги данные берет, вопрос простой, как сделать оффсет по условию Sch = "" .
ActiveCell.Offset(1, 0).Range("A1").Select срабатывает только когда макрос выполнен полностью а когда нет Sch он остается в ячейке с данными а нужно чтобы по горячей кнопке можно было весь столбец забить
 
решил проблему добавление пустого толбца в таблицу и при пустом  запросе Sch он берет пустое значение, не понятно почему он не хотел перекидывать без этого
Страницы: 1
Наверх