Pregunta

Daría una descripción completa, pero todo lo relevante ya se ha dicho en esta pregunta de hace dos años que quedó completamente sin resolver:

Escribir una cadena en una celda en Excel

Mi programa es tan simple como puede ser:

`Sub separate()
Dim stri As String
Dim i As Long
stri = Sheets("HEXDUMP").Cells(1, 5).Text
For i = 0 To (Len(stri) / 4)
    Sheets("HEXDUMP").Cells(i, 1).Value = Mid(stri, ((i * 2) + 1), 2)
    Sheets("HEXDUMP").Cells(i, 2).Value = Mid(stri, ((i * 2) + 3), 2)
Next i
End Sub`

Todo lo que quiero es tomar una cadena y dividirla en celdas de dos caracteres cada una.Por supuesto, todo funciona perfectamente excepto que no escribe en una celda sin importar lo que le hagas.Intenté desproteger, probé .text, intenté crear una nueva hoja reiniciando lo que sea.Es un error en Excel y todo lo que quiero en este momento es una solución.

¿Fue útil?

Solución

Tienes un error en tu código.

Para i = 0, es decir.la primera iteración de su bucle, el siguiente código dará un error:

... .Cells(i, 1) ...
... .Cells(i, 2) ...

como no hay fila 0.Cámbielo a:

... .Cells(i + 1, 1) ...
... .Cells(i + 1, 2) ...

y funcionará.No estoy seguro de que sea exactamente lo que quieres, pero al menos no dará error.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top