Herbers Excel-Forum - das Archiv
Range kopieren an best. Cells-Position

|
Betrifft: Range kopieren an best. Cells-Position
von: de-coder
Geschrieben am: 13.12.2003 19:41:57
Ich habe eine Tabelle von 366 Zeilen und 100 Spalten sowie eine Referenzzeile in 370, die den Wert von 1-4 hat. Abhängig vom Wert in Zelle 370,1 - 370,100 sollen die Spalten 102 (bei Wert=1),103 (bei wert=2),104 (...) oder 105 (...) in die fortlaufend abgefragte Zelle kopiert werden.
Hört sich kompliziert an, ist es aber nicht: ich will im Prinzip wissen, wie ich die Spalte 102+x in die Spalte i kopieren kann. Möglichst mit Range, wobei sich die Spalte mit einer Variablen innerhalb einer for-next-Schleife immer um 1 erhöht.
Verstehe zwar das Rangen, aber das Kopieren eines Ranges an eine Zelle (A1+x) nicht ...
Hilfffeeee!
Betrifft: Cells statt range .. ?
von: andreas e
Geschrieben am: 13.12.2003 19:46:21
Hallo,
nimm statt range cells! Da kannst du problemlos variablen übergeben !
Gruß
Andreas E
http://www.skripteundaufgaben.deviele kostenlose Downloads und Links zu EXCEL und mehr
http://www.fachforen.deeine Linksammlung zu diversen fachforen
Betrifft: Cells statt range .. ?
von: andreas e
Geschrieben am: 13.12.2003 20:07:57
Hallo,
nimm statt range cells! Da kannst du problemlos variablen übergeben !
Gruß
Andreas E
http://www.skripteundaufgaben.deviele kostenlose Downloads und Links zu EXCEL und mehr
http://www.fachforen.deeine Linksammlung zu diversen fachforen
Betrifft: was war das denn nun ?
von: andreas e
Geschrieben am: 13.12.2003 20:09:58
wo kommt der beitrag denn ne halbe stunde später her ??
Muss ich das verstehen ?
Gruß
andreas e
Betrifft: AW: Range kopieren an best. Cells-Position
von: de-coder
Geschrieben am: 15.12.2003 15:33:33
Die Lösung war:
For i = 1 To 100
j = Worksheets("matrix").Cells(370, i)
If j = 1 Then
Worksheets("matrix").Range("cx1:cx366").Copy Destination:=Worksheets("matrix").Cells(1, i)
End If
If j = 2 Then
Worksheets("matrix").Range("cy1:cy366").Copy Destination:=Worksheets("matrix").Cells(1, i)
End If
If j = 3 Then
Worksheets("matrix").Range("cz1:cz366").Copy Destination:=Worksheets("matrix").Cells(1, i)
End If
If j = 4 Then
Worksheets("matrix").Range("da1:da366").Copy Destination:=Worksheets("matrix").Cells(1, i)
End If
Next i
leider kann ich die 4 ranges nicht mit variable belegen, weil der cells-Befehl immer nen Error macht:
Worksheets("matrix").Range(cells(x,y),cells(x1,y1)).Copy Destination:=Worksheets("matrix").Cells
Müsste doch gehen oder wo ist mein Fehler?