Excel 2010将string写入单元格

我会给出一个完整的描述,但是两年前在这个问题上已经提到的一切都已经完全解决了:

在excel中将一个string写入一个单元格

我的程序尽可能简单:

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

我想要的只是把一个string分解成两个字符的单元格。 当然,一切都是完美的,除非不pipe你怎么做,它都不会写入单元格。 我试图解除保护我试图.text我试图让一个新的表重新启动你的名字。 这是一个在Excel中的错误,所有我想在这一点是一个解决方法。

你的代码有错误

对于i = 0 ,即循环的第一次迭代,下面的代码会给出一个错误:

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

因为没有第0行 。 将其更改为:

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

它会工作。 不知道这正是你想要的,但至less它不会给出错误。