VBA 在Excel运行出现Run Time error 1004

2025-06-27 22:05:31
推荐回答(2个)
回答1:

调用工作表函数就可以了
这是最简单的方式
试下
Range("V2:V" & row1) = "=IF(RC[-1]=""shipped"",""shipped"",IF(OR((RC[235]=851)*(TYPE(RC[-1]*1)=1),(RC[235]=851)*(LEFT(RC[-1],2)=""JQ"")),""JQ"",""""))&IF((RC[235]=851)*(LEFT(RC[-1],1)=""A""),""CFDS"",IF((RC[235]=851)*(LEFT(RC[-1])=""E""),""WeiFang"",IF((RC[235]=851)*((LEFT(RC[-1],2)=""QP"")+(LEFT(RC[-1])=""B"")),""IHD"",IF((RC[235]=851)*(LEFT(RC[-1])=""D""),""WuXi"",""""))))&IF((RC[235]=851)*(LEFT(RC[-1],1)=""A""),""CFDS"",IF((RC[235]=851)*(LEFT(RC[-1])=""E""),""WeiFang"",IF((RC[235]=851)*((LEFT(RC[-1],2)=""QP"")+(LEFT(RC[-1])=""B"")),""IHD"",IF((RC[235]=851)*(LEFT(RC[-1])=""D""),""WuXi"",""""))))&IF((RC[235]=851)*(LEFT(RC[-1],2)=""TJ"")*(LEN(RC[-1])=2),""TJ"",IF((RC[235]=851)*(LEFT(RC[-1],4)=""TJOL"")*(LEN(RC[-1])=4),""TJOL"",IF((RC[235]=851)*(RIGHT(RC[-1],3)=""ISR""),""ISR"",IF((RC[235]=852)*(TYPE(RC[-1]*1)=1),""JQ"",IF((RC[235]=852)*(TYPE(RC[-1]*1)=16),""WGQ"",""??库位"")))))"

回答2:

row1的值是多少?
是不是行数太多,
内存运行不够了?
这个公式写得不咋样,
嵌套了那么多层,
可以简化一下,
公式复杂,运行很慢的。
也容易出现各种错误。