Итак, у меня есть Sheet1
и Sheet2
, Sheet1
- настройки, установленные пользователем, а Sheet2
- таблица значений, сгенерированных различными значениями в Sheet1
. Теперь можно создать Sheet3..10
, который будет извлекать значение из Sheet2
на основе вычислений на нем.
Проблема, с которой я сталкиваюсь, заключается в том, что, скажем, Sheet3!H20
обновляется с Sheet2!I15
, как я могу получить Sheet3!H20
, чтобы иметь =VALUE
вместо =Sheet2!I15
, чтобы Sheet4..10
мог повторно использовать эту таблицу
Я пытался Workbook_SheetCalculate(ByVal Sh As Object)
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
Select Case Sh.Name
Case "Sheet1"
Case "Sheet2"
Case Else
ThisWorkbook.Worksheets("Sheet2").Range("$C$14").Value = "=" & Sh.Range("$D$23").Value
Sh.Range("$H$20").Value = "=" & ThisWorkbook.Worksheets("Sheet2").Range("$I$15").Value
End Select
End Sub
Но когда я делаю это, он просто постоянно пересчитывает, и в итоге Excel вылетает. Я также попытался войти на каждый рабочий лист с помощью Worksheet_Calculate
, и когда я это сделал, я получил ошибку времени выполнения, поскольку Range отсутствует в объекте Worksheet.
А идеи?