Excel 2010 Scrivi stringa nella cella [duplicato]
Domanda
Vorrei fornire una descrizione completa, ma tutto ciò che è rilevante è già stato detto in questa domanda di due anni fa rimasta completamente irrisolta:
Scrivere una stringa in una cella in Excel
Il mio programma è il più semplice possibile:
`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`
Tutto quello che voglio è prendere una stringa e suddividerla in celle di due caratteri ciascuna.Ovviamente tutto funziona perfettamente, tranne che non scriverà su una cella, qualunque cosa tu faccia.Ho provato a rimuovere la protezione, ho provato .text, ho provato a creare un nuovo foglio riavviandolo, chiamalo.È un bug in Excel e tutto ciò che voglio a questo punto è una soluzione alternativa.
Soluzione
Hai un errore nel tuo codice.
Per i = 0
, cioè.la prima iterazione del ciclo, il seguente codice genererà un errore:
... .Cells(i, 1) ...
... .Cells(i, 2) ...
COME non c'è la riga 0.Cambialo in:
... .Cells(i + 1, 1) ...
... .Cells(i + 1, 2) ...
e funzionerà.Non sono sicuro che sia esattamente quello che vuoi, ma almeno non darà un errore.