Question

Je donnerais une description complète mais tout ce qui est pertinent a déjà été dit dans cette question d'il y a deux ans qui n'a absolument pas été résolue :

Écrire une chaîne dans une cellule dans Excel

Mon programme est aussi simple que possible :

`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`

Tout ce que je veux, c'est prendre une chaîne et la diviser en cellules de deux caractères chacune.Bien sûr, tout fonctionne parfaitement, sauf qu'il n'écrira pas dans une cellule, quoi que vous y fassiez.J'ai essayé de déprotéger, j'ai essayé .text, j'ai essayé de créer une nouvelle feuille en redémarrant votre nom.C'est un bug dans Excel et tout ce que je veux à ce stade, c'est une solution de contournement.

Était-ce utile?

La solution

Vous avez une erreur dans votre code.

Pour i = 0, c'est à dire.à la première itération de votre boucle, le code suivant donnera une erreur :

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

comme il n'y a pas de ligne 0.Remplacez-le par :

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

et ça marchera.Je ne suis pas sûr que ce soit exactement ce que vous voulez, mais au moins cela ne donnera pas d'erreur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top