返回列表 上一主題 發帖

[發問] 執行階段錯誤13

回復 3# jesscc

2010版的Excel Application.Transpose 有兩個罩門
1.置換的元素中若有超出256字元會產生錯誤。
2.置換的列數若超出65536列會產生錯誤。

執行你的程式碼後所得字元數資料如下:
嘜頭號34【中文品項合併】為21
嘜頭號34【英文品項合併】為16

嘜頭號35【中文品項合併】為161
嘜頭號35【英文品項合併】為138

嘜頭號36【中文品項合併】為211
嘜頭號36【英文品項合併】為306

嘜頭號37【中文品項合併】為176
嘜頭號37【英文品項合併】為170

嘜頭號38【中文品項合併】為8
嘜頭號38【英文品項合併】為3

資料錯誤出現在嘜頭號36【英文品項合併】為306,已超出256的上限,而所有中文品項均合乎規則,因此不會出錯。

TOP

回復 6# jesscc

只針對 test.rar 內的中的 Transpose 疑問回答如下:
若不用 Transpose 來解,可用下列迴圈方式來寫入,不過資料量多的話會花較多時間。

原式:
[AG7].Resize(d1.Count, 1) = Application.Transpose(d1.items)

改為如下:
s = d1.Items
For i = 0 To d1.Count - 1
    Cells(i + 7, 33).Value = s(i)
Next i

TOP

        靜思自在 : 要比誰更受誰.不要比誰更怕誰。
返回列表 上一主題