Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: 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

Anzeige

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
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige