Herbers Excel-Forum - das Archiv

Range kopieren an best. Cells-Position

Bild

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!

Bild

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.de
viele kostenlose Downloads und Links zu EXCEL und mehr
http://www.fachforen.de
eine Linksammlung zu diversen fachforen
Bild

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.de
viele kostenlose Downloads und Links zu EXCEL und mehr
http://www.fachforen.de
eine Linksammlung zu diversen fachforen
Bild

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
Bild

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?
Bild
Excel-Beispiele zum Thema " Range kopieren an best. Cells-Position"
Blätter in andere Arbeitsmappen kopieren Module von Mappe zu Mappe kopieren
Arbeitsblatt 40 mal kopieren Schriftgröße beim Kopieren verdoppeln
Beim Kopieren auch die Zeilenhöhe und Spaltenbreite übernehmen Tabellencode nach Kopieren des Blattes löschen
Arbeitsmappe blitzschnell kopieren VBE-Namen der Blattmodule beim Kopieren festlegen
Blattinhalt von einer zur anderen Arbeitsmappe kopieren Formel bis zur letzten Zeile der Nebenspalte kopieren