Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
920to924
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
920to924
920to924
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bereich bis 1. Leerzelle in Spalte "E" kopieren

Bereich bis 1. Leerzelle in Spalte "E" kopieren
04.11.2007 16:29:00
Korl
Hallo,
ich habe Probleme mit meinem nachfolgenden Code, der einzeln funktioniert aber leider nicht in der Schleife.
Sub Bereiche_zusammenstellen()
   Dim wksQ As Worksheet, wksZ As Worksheet
   Dim lLetzteZ As Long
   
   Set wksQ = ActiveWorkbook.ActiveSheet
   Set wksZ = Workbooks("Einteilung 08.xls").Worksheets("Tabelle1")
   
   Application.ScreenUpdating = False
' For Each wksQ In ActiveWorkbook.Worksheets
      wksQ.Range(Cells(2, 1), Cells(1, 5).End(xlDown)).Copy
      lLetzteZ = IIf(wksZ.Range("A65536") <> "", 65536, wksZ.Range("A65536").End(xlUp).Row)
      wksZ.Range("A" & lLetzteZ + 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
         :=False, Transpose:=False
      Application.CutCopyMode = False
' Next wksQ
   Application.ScreenUpdating = True
   
End Sub
Ich möchte stets aus jedem Tabellenblatt meiner activen Workbooks den Bereich "A2" bis zur 1. Leerzelle in Spalte "E" kopieren.
Warum funktioniert der Code nicht in einer Schleife?
Gruß Korl

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereich bis 1. Leerzelle in Spalte "E" kopieren
04.11.2007 16:57:00
Daniel
Hi
Fehlerursache ist das hier:
wksQ.Range(Cells(2, 1), Cells(1, 5).End(xlDown)).Copy
Wird ein Range-Objekt über zwei Einzelzellen definiert, dann muss der Bezug zum Sheet auch für jede Einzelzelle angegeben werden, sonst ist der Zellbezug für die Einzelzelle das aktive Sheet, aber daß simmt in der Schleife ja nicht wksQ überein, daher gibts ein Problem: daher folgender Code:
Range(wksQ.Cells(2, 1), wksQ.Cells(1, 5).End(xlDown)).Copy
(um ganz sicher zu gehen, kann man das Sheet dann auch noch vor das Range setzen:
wksQ.Range(wksQ.Cells(2, 1), wksQ.Cells(1, 5).End(xlDown)).Copy)
Gruß, Daniel

Anzeige
AW: Bereich bis 1. Leerzelle in Spalte "E" kopieren
04.11.2007 16:59:00
Josef
Hallo Korl,
ungetestet.
Sub Bereiche_zusammenstellen()
Dim wksQ As Worksheet, wksZ As Worksheet

On Error GoTo ErrExit

Set wksZ = Workbooks("Einteilung 08.xls").Worksheets("Tabelle1")

Application.ScreenUpdating = False

For Each wksQ In ActiveWorkbook.Worksheets
    
    wksQ.Range(wksQ.Cells(2, 1), wksQ.Cells(1, 5).End(xlDown)).Copy
    'hier musst du vor .Cells() immer das Tabellenblatt mit angeben!
    
    wksZ.Cells(1, wksZ.Cells(Rows.Count, 1).End(xlUp).Row + 1).PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
    
Next wksQ

ErrExit:

Application.ScreenUpdating = True

End Sub

Gruß Sepp

Anzeige
AW: Bereich bis 1. Leerzelle in Spalte "E" kopieren
04.11.2007 17:09:05
Korl
Hallo Daniel und Sepp,
ich habe es selber gerade gemerkt und wollte antworten.
Wenn man sich eine Weile nicht mehr mit Excel beschäftigt hat, vergisst man wieder einiges. :-((
Habt Dank für Eure Mühe.
Gruß Korl

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige