Lectura de macro VBA lenta en celdas

Tengo una macro VBA, que escribe datos en una hoja de trabajo despejada, ¡pero es realmente lenta!

Estoy creando instancias de Excel de un profesional de proyectos.

Set xlApp = New Excel.Application
xlApp.ScreenUpdating = False
Dim NewBook As Excel.WorkBook
Dim ws As Excel.Worksheet
Set NewBook = xlApp.Workbooks.Add()
With NewBook
     .Title = "SomeData"
     Set ws = NewBook.Worksheets.Add()
     ws.Name = "SomeData"
End With

xlApp.Calculation = xlCalculationManual 'I am setting this to manual here

RowNumber=2
Some random foreach cycle
    ws.Cells(RowNumber, 1).Value = some value
    ws.Cells(RowNumber, 2).Value = some value
    ws.Cells(RowNumber, 3).Value = some value
             ...............
    ws.Cells(RowNumber, 12).Value = some value
    RowNumber=RowNumber+1
Next

Mi problema es que el ciclo foreach es un poco grande. Al final, obtendré alrededor de 29000 filas. Lleva más de 25 minutos hacer esto en una computadora bastante buena.

¿Hay algún truco para acelerar la escritura en las celdas? He hecho lo siguiente:

xlApp.ScreenUpdating = False
xlApp.Calculation = xlCalculationManual

¿Estoy haciendo referencia a las celdas de manera incorrecta? ¿Sería posible escribir en una fila completa, en lugar de las celdas individuales?

¿Sería eso más rápido?

He probado mi código, el ciclo foreach pasa bastante rápido (escribí los valores en algunas variables aleatorias), así que sé que escribir en las celdas es lo que ocupa todo este tiempo.

Si necesita más información, fragmentos de código, hágamelo saber.

Gracias por tu tiempo.

Respuestas a la pregunta(4)

Su respuesta a la pregunta