gpt4 book ai didi

excel - VBA 单元格复制字符限制

转载 作者:行者123 更新时间:2023-12-04 21:58:02 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Error while copying more than 8202 characters from one cell to another

(4 个回答)


5年前关闭。




我的 VBA 代码的一部分涉及将长字符串从一个单元格复制并粘贴到另一个单元格。我的代码可以正常工作,直到源单元格中的字符太多。经过一些测试,我认为我的代码会生成 runtime error 1004如果 Cell E16 中的字符数大于 8000(大约)。目前,我有一种解决方法,即将源单元分配给中间单元。如果可能的话,我可以知道这个问题的原因是什么吗?如果我的单元格(E16)真的很长,我是否需要将它的内容拆分为超过 1 个?

如果 E16 中的字符太多,此方法不起作用

Sheets(SN_Pound).Range("A10") = Sheets(SN_LV).Range("E16")

这种方法有效
CHR_LV_str = Sheets(SN_LV).Range("E16")
Sheets(SN_Pound).Range("A10") = CHR_LV_str

最佳答案

导致错误的原因似乎与使用 Range 的默认属性有关。目的。如果明确指定了属性,则没有错误:

With Sheets(1)
.Range("E16").Value = String$(30000, "x")
Debug.Print Len(.Range("E16").Value) 'Prints 30000
' .Range("A10") = Range("E16") 'Error 1004
.Range("A10").Value = .Range("E16").Value 'No error
Debug.Print Len(.Range("A10").Value) 'Prints 30000
.Range("E16").Value = String$(60000, "x")
Debug.Print Len(.Range("E16").Value) 'Prints 32767
End With

请注意,根据@Slai 在评论中提到的链接,最大单元格文本长度为 32767,但它只是被截断。如果您尝试分配更长的字符串,则不会引发错误。

关于excel - VBA 单元格复制字符限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40314695/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com