2017-06-08 161 views
1

所以我用了2範圍()項:Excel VBA中的錯誤1004範圍

Set myRange1 = Range("E2:E8,D9:D12,F9:F12,J2:J8,I9:I12,K9:K12,O2:O8,N9:N12,P9:P12,E14:E20,D21:D24,F21:F24,J14:J20,I21:I24,K21:K24,O14:O20,N21:N24,P21:P24,E26:E32,D33:D36,F33:F36,J26:J32,I33:I36,K33:K36,O26:O32,N33:N36,P33:P36") 
Set myRange2 = Range("C6:C9,E7:E9,G7:G9,J6:J9,L7:L9,N7:N9,Q6:Q9,S7:S9,U7:U9,X6:X9,Z7:Z9,AB7:AB9,C12:C15,E13:E15,G13:G15,J12:J15,L13:L15,N13:N15,Q12:Q15,S13:S15,U13:U15,X12:X15,Z13:Z15,AB13:AB15,C18:C21,E19:E21,G19:G21,J18:J21,L19:L21,N19:N21,Q18:Q21,S19:S21,U19:U21,X18:X21,Z19:Z21,AB19:AB21") 

myRange1是好的,myRange2拋出對象的運行時錯誤1004法 '範圍'「_Global失敗。

有誰知道爲什麼?範圍內的範圍太多了嗎?在我看來,他們都很長。

+1

地址不多,但字符太多。即它傳遞給Range方法的字符串的長度是問題 - 它的最大長度爲255個字符。 – YowE3K

回答

3

太多是正確的答案。不過,如果你想使用它們試試這招:

Set myRange2 = Range("C6:C9,E7:E9,G7:G9,J6:J9,L7:L9,N7:N9,Q6:Q9,S7:S9,U7:U9,X6:X9,Z7:Z9,AB7:AB9") 
Set myRange2 = Union(myRange2,range("C12:C15,E13:E15,G13:G15,J12:J15,L13:L15,N13:N15,Q12:Q15,S13:S15,U13:U15,X12:X15,Z13:Z15,AB13:AB15,C18:C21,E19:E21,G19:G21,J18:J21,L19:L21,N19:N21,Q18:Q21,S19:S21,U19:U21,X18:X21,Z19:Z21,AB19:AB21")) 

您最多可以有30個參數的聯盟:

https://msdn.microsoft.com/en-us/library/office/ff834621.aspx

但如果增加像上面的代碼,你可以永遠這樣去。