¿Cómo VBA envía una solicitud Async XMLHTTP?

Para obtener datos de un servicio web en Excel, he creado una función de complemento de Excel para obtenerla; el usuario solo necesita escribir en la celda:=sendRequest("http://webservice.com")

Tengo 2 archivos de Excel para demostrar elsending request en dos métodos: 1.sincrónico y 2.asincrónico

Ensync Método, la función puede enviar solicitud y obtener datos normalmente. Pero si nosotrostener 100, 200 celdas que lo llame, tomará Excel una enorme cantidad de tiempo de espera; lo que también hace que exel seasin responder.

Mi solución actual para esto es usarasync método comodebajo del código

Public Function sendAsyncRequest(URL)
    'other statement

    ' Get some stuff asynchronously.
    xmlHttpRequest.Open "GET", URL, True
    xmlHttpRequest.send
    sendAsyncRequest = xmlHttpRequest.responseText
End Function

Pero el valor de la celda siempre es cero 0 en lugar de texto repetido.

Debo usar mi clase de manejador para enlazarlo conOnReadyStateChange dexmlHttpRequest object para establecer el texto de respuesta en la celda. Pero entonces, también borra las fórmulas de las células.

Así que mi pregunta es¿Cómo cambiar el texto de visualización de la celda sin cambiar su fórmula?

También doy la bienvenida a otra solución para enviar la solicitud y obtener el valor de retorno bajoasync método.

Respuestas a la pregunta(2)

Su respuesta a la pregunta