質問

完全に説明したいと思いますが、関連するすべてのことは、完全に未解決のままだった 2 年前のこの質問ですでに述べられています。

Excelのセルに文字列を書き込む

私のプログラムは可能な限り単純です:

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

私が望むのは、文字列を取得して、それをそれぞれ 2 文字のセルに分割することだけです。もちろん、何をしてもセルに書き込めないことを除けば、すべてが完璧に機能します。保護を解除してみました .text を試してみました 新しいシートを作成して、名前を付けて再起動してみました。これは Excel のバグであり、現時点で私が望むのは回避策だけです。

役に立ちましたか?

解決

コードにエラーがあります。

のために i = 0, 、つまりループの最初の反復では、次のコードではエラーが発生します。

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

として 0行はありません. 。これを次のように変更します。

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

そしてそれはうまくいきます。それがあなたが望むものであるかどうかはわかりませんが、少なくともエラーは発生しません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top