Pergunta

Eu daria uma descrição completa, mas tudo o que é relevante já foi dito nesta questão de dois anos atrás que ficou completamente sem solução:

Escrevendo uma string em uma célula no Excel

Meu programa é o mais simples possível:

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

Tudo que eu quero é pegar uma string e dividi-la em células de dois caracteres cada.É claro que tudo funciona perfeitamente, exceto que não grava em uma célula, não importa o que você faça nela.Tentei desproteger, tentei .text, tentei fazer uma nova planilha reiniciando, você escolhe.É um bug no Excel e tudo que quero neste momento é uma solução alternativa.

Foi útil?

Solução

Você tem um erro no seu código.

Para i = 0, ou sejana primeira iteração do seu loop, o código a seguir apresentará um erro:

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

como não há linha 0.Altere para:

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

e vai funcionar.Não tenho certeza se é exatamente o que você deseja, mas pelo menos não causará erro.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top