Excel 2010 Gravar String na Célula [duplicado]
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.
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.