Microsoft Excel

Herbers Excel/VBA-Archiv

Kopieren einer Range von Tabellenblatt zu Tabellen

Betrifft: Kopieren einer Range von Tabellenblatt zu Tabellen von: Andreas
Geschrieben am: 18.03.2016 12:35:46

Hallo,
als erstes möchte ich mich herzlich über das Forum bedanken. Ich habe in letzter Zeit sehr viele Dinge daraus gelernt und konnte diese auch gut auf meine Projekte übertragen.:)
Nun habe ich leider ein kleines Problem, wo ich noch keine Lösung dafür gefunden habe.
Es geht darum einen Bereich aus einem tabellenblatt in ein anderes zu kopieren und dabei zu formatieren.

Ausgang: Tabelle3 -> Werte in "B4:D11"
diese sollen in Tabelle2 in den Bereich "E1:E25", und zwar spaltenweise
(bei den orginalen Werten handelt es sich natürlich um viele mehr)
Problem: es läuft alles soweit außer die Zeile mit den Bereichen
Code:

Sub test()

Dim i As Integer
Dim j As Integer

Set wsz = Sheets("Tabelle2")
Set wsq = Sheets("Tabelle3")
j = 16
    For i = 2 To 4
        wsz.Range(Cells(16, 5), Cells(23, 5)).Value = wsq.Range(Cells(4, i),_ Cells(11, i)). _
Value
        'Fehler bei zweiter range, ersetzt durch "range("x:y")"-> funzt
        j = j + 8
    Next
End Sub

Es wäre schön wenn jemand mir erklären könnte warum ich bei der zweiten Range nicht diie Cells verwenden kann.

Danke schon mal im Vorraus.

  

Betrifft: AW: Kopieren einer Range von Tabellenblatt zu Tabellen von: Michael
Geschrieben am: 18.03.2016 12:52:36

Hi Andreas,

die einzelnen Cells brauchen auch die Bezüge zum jeweiligen Blatt, also etwa so:

        wsz.Range(wsz.Cells(16, 5), wsz.Cells(23, 5)).Value = _
        wsq.Range(wsq.Cells(4, i), wsq.Cells(11, i)).Value

Abgesehen davon ist die Schleife relativ witzlos, weil die Werte im linken Range bei jedem Durchlauf überschrieben werden - oder wolltest Du hier das j noch einbauen?

Schöne Grüße,

Michael


  

Betrifft: AW: Kopieren einer Range von Tabellenblatt zu Tabellen von: UweD
Geschrieben am: 18.03.2016 12:53:15



so...

wsz.Range(wsz.Cells(16, 5), wsz.Cells(23, 5)).Value = wsq.Range(wsq.Cells(4, i), wsq.Cells(11, i)).Value

Gruß UweD


  

Betrifft: AW: Kopieren einer Range von Tabellenblatt zu Tabellen von: Andreas
Geschrieben am: 18.03.2016 13:00:46

Hi,

Danke euch beiden. Mir war nicht bewusst, dass die Zellen auch noch einmal einen Bezug zum Tabellenblatt brauchen. Jetzt funktioniert alles tadellos.
Achja, das j würd noch mit eingebaut. Die Ranges im Orginal sind dann eh komplett dynamisch aufgebaut.
Danke noch mal für die schnellen Antworten.

Viele Grüße
Andreas


 

Beiträge aus den Excel-Beispielen zum Thema "Kopieren einer Range von Tabellenblatt zu Tabellen"