2013-05-26 3 views
0

Вот мой текущий расчет, который возвращает значение в msgbox, то, что я хотел бы сделать, - это еще один запрос на msgbox, который вы хотите пройти мимо значения, затем сможете выбрать ячейку для вставки в нее вычисленного значения , я не могу решить, как сохранить результат вычисления, чтобы его можно было вставить.Как скопировать значение из окна сообщения и удерживать его в памяти, чтобы результат можно вставить в любую ячейку на листе.

Sub CalcmsgboxAcre() 
    On Error Resume Next 
    Dim num As Double 
    num = Application.InputBox(prompt:="Please Enter The Number Of Hectares You Would Like To Calculate Into Acres ", Type:=1) 
    MsgBox Format(num * 2.471054, "#,##0.00") & " Is the Number Of Acre's." 
End Sub 

ответ

0

вам не нужно, чтобы сохранить результат, показав результат вам просто нужно спросить, если пользователь хочет, чтобы он спас, делая

Save = MsgBox("Do you want to paste the result in a cell?", vbYesNo) 

Затем, если ответ да вам нужно попросить ячейку и вставить результат там

If Save = vbYes Then 
    cell = Application.InputBox("In which cell") 
    Range(cell).Value = num * 2.471054 
End If 

Надеется, что это помогает, Бруно

+0

Привет Бруно, я ВГ e попытался сделать это так, и отладчик остановился на команде сохранения: Sub CalcmsgboxAcre() On Error Resume Next Dim num As Double num = Application.InputBox (prompt: = "Пожалуйста, введите число гектаров, которые вам понравятся «Вычислять в Acres», Type: = 1) Формат MsgBox (num * 2.471054, «#, ## 0.00») & «Это количество акров». Save = MsgBox («Вы хотите вставить результат в ячейку?», VbYesNo) Если Save = vbYes Затем cell = Application.InputBox («В какой ячейке») Диапазон (ячейка) .Value = num * 2.471054 End If End Sub –

+0

Я протестировал его, и он отлично работает, можете ли вы точно сказать, какую ошибку он возвращает? и это на Save = MsgBox («Вы хотите вставить результат в ячейку?», vbYesNo)? – Newbie

+0

Да, он останавливается на Save = MsgBox ,,, компилирует ошибку, ожидаемую функцию или переменную. –