Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
452to456
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
452to456
452to456
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Schleife zum übertragen von Zellen

Schleife zum übertragen von Zellen
14.07.2004 00:45:53
Zellen
Hallo Ihr,
ich möchte von einer Tabelle nur bestimmte Zellen in ein neues
Blatt kopieren.
Es sind genau 612 Zellen, die aber nicht zusammenhängend sind.
Ab „H3“ dann 10 runter, das ganze insgesamt 17 mal, („ H13“ bis „H 173“)
dann 4 Spalten weiter („L3“ bis „L173“). Das ganze bis( „ER3“ bis „ER „173“).
Nun habe ich eine Schleife programmiert, die, die erste Spalte kopiert,
komme jetzt aber nicht mehr weiter, mir fehlt die Schleife für die
nächsten Spalten
Bis jetzt sieht der Code so aus:

Sub übertr1()
z = 3
sp = 8
With Sheets("Tipp") 'aus diesem Blatt kommen die Daten.
If z > 173 Then z = z(-170, 0).Row.Column
For m = 2 To 37
For i = 2 To 19
If Cells(m - 1, i) = "" Then Exit For
Cells(m, i) = .Cells(z, sp)
z = z + 10
Next i
Next m
End With
End Sub

Wer hat eine Idee ?
Oder wo liegt mein Denkfehler?
Wer löst mir das Brett von meinem Kopf !!
Danke
Gruß AndréL.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schleife zum übertragen von Zellen
Zellen
Hallo
so ganz ist mir der Code nicht klar,.. bzw. was da passieren soll
If z &gt 173 Then z = z(-170, 0).Row.Column
Ist völlig unverständlich, da Z kurz vorher auf 3 initialisiert wurde.
Was damit gemeint ist
z = z(-170, 0).Row.Column
verstehe ich überhaupt nicht
Warum
For m = 2 To 37
wenn du in der If-Bedingung "m-1" rechnest ? Warum startest du nicht gleich bei 1 ?
If Cells(m - 1, i) = "" Then Exit For
Genauso unverständlich
In der With Anweisung refenzierst du auf Worksheets("Tipp") und schreibst, aus dieser Tabelle kommen die Daten, aber genau da prüfst du die Zellen aus der aktuellen Tabelle ob sie leer sind und nicht aus der Quelltabelle
Probier mal das
Ungetestet sollte aber tun:

Sub übertr1()
Dim i As Integer, n As Integer
Dim tarR As Integer, tarC As Integer
Dim quelle As Worksheet
Dim ziel As Worksheet
Set quelle = Worksheets("Tabelle1")
Set ziel = Worksheets("Tabelle2")
tarC = 1
With quelle 'aus diesem Blatt kommen die Daten.
'Spalten Schleife
For i = 1 To 148 Step 4 'jede 4. Spalte
'Zeilenschleife
'Zielzeile definieren
tarR = 2
For n = 3 To 173 Step 10
If quelle(n, i) = "" Then Exit For
ziel.Cells(tarR, tarC) = quelle.Cells(n, i)
'Zielzeile neu berechnen
tarR = tarR + 1
Next n
'Neue Zielspalte berechnen
tarC = tarC + 1
Next i
End With
End Sub

Gruss Rainer
Anzeige
AW: Schleife zum übertragen von Zellen
Zellen
Hallo Rainer,
ich habe den Code angepasst, aber er läuft nicht.
Bekomme : Laufzeitfehler '438'
" Objekt unterstützt diese Eigenschaft oder Methode nicht".
Beim Debuggen ist die Zeile
If quelle(n, i) = "" Then
gelb eingefärbt.
Zur kurzen Erklärung :
Ich habe mir die Zeilen des obigen Makros "zusammengeklaut".
Bisher bin ich eigentlich gut klar gekommen, wohl diesmal nicht.
Danke
Gruß AndréL.
AW: Schleife zum übertragen von Zellen
Zellen
Hallo André,
das ist vermutlich nur ein kleiner Flüchtigkeitsfehler von Rainer. Versuche es mal so (ungetestet):
If quelle.Cells(n, i).Value = "" Then
Viel Erfolg wünscht
WernerB.
Anzeige
Flüchtigkeitsfehler...
Ramses
Hallo
Werner die "Cells" habe ich tatsächlich vergesssen.
Das kommt davon wenn man aus der "Hand" schreibt und nicht mal kompiliert ;-)
Gruss Rainer
AW: Flüchtigkeitsfehler...
André
Hallo Rainer,
vielen Dank.
Jetzt läft es super!!
Gruß AndréL.
PS. Kleine Frage: läßt sich der Code auch als Worksheet Selection Change einbauen?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige