Присвоение значения ячейки Excel функции - PullRequest
0 голосов
/ 16 июня 2019

Я хочу присвоить функции значение ячейки в определенном рабочем листе, но функция возвращает ноль. Ниже мой простой код:

Function TLGV(Modele As String, Pressure As Integer) 'Total Load Grand Vitesse

    If Modele = "DCHC05" Then
        If Pressure = 30 Then
            Worksheets("VC Types").Activate
            TLGV = Range("H4").Value
        End If
    Else

    End If

1 Ответ

1 голос
/ 16 июня 2019

Вы не должны пытаться Activate лист из пользовательской функции VBA.

Function TLGV(Modele As String, Pressure As Integer)

   'Total Load Grand Vitesse

   If Modele = "DCHC05" Then
       If Pressure = 30 Then
           TLGV = Worksheets("VC Types").Range("H4").Value
       End If
    Else
        'more stuff
    End If

End Function

На самом деле, вы также должны предоставить ссылку на родительскую книгу.

Function TLGV(Modele As String, Pressure As Integer)

   'Total Load Grand Vitesse
   'reference the parent workbook
   with application.caller.parent.parent
     If Modele = "DCHC05" Then
       If Pressure = 30 Then
           TLGV = .Worksheets("VC Types").Range("H4").Value
       End If
      Else
        'more stuff
      End If
    End With

End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...