2017-06-08 16 views
1

So i 2 Range() Produkte haben:Excel-VBA-Fehler 1004 Bereich

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 ist in Ordnung, myRange2 wirft Laufzeitfehler 1004 Die Methode 'Range' von Objekt '_Global' ist fehlgeschlagen.

Weiß jemand warum? Gibt es zu viele Bereiche in einem Bereich? Meiner Meinung nach sind sie beide ziemlich lang.

+1

Nicht zu viele Adressen, aber zu viele Zeichen. Die Länge der Zeichenfolge, die an die Range-Methode übergeben wird, ist das Problem - sie hat eine maximale Länge von 255 Zeichen. – YowE3K

Antwort

3

Zu viele ist die richtige Antwort. Allerdings, wenn Sie verwenden möchten, versuchen sie diesen Trick:

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")) 

Sie können in einer Union bis zu 30 Argumente haben:

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

Aber wenn Sie wie in den Code erhöhen oben, Sie kann so für immer gehen.

Verwandte Themen