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.

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top