Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1304to1308
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
Datenbereich von mehreren Blättern kopieren
19.03.2013 08:13:30
mehreren
Guten Morgen zusammen,
ich habe ein kleines Problem, wobei ich nicht verstehe warum mein Makro außerhalb der Entwicklerumgebung anders arbeitet.
Ich habe mehrere Arbeitsblätter die ab Zelle E23 bis Exx Daten enthalten, wobei deren Anzahl variieren kann. Ich möchte jetzt alle Daten aus den einzelnen Arbeitsblättern in ein neues kopieren hier Tabelle5, so dass ich dann in Tabelle 5 ab Zeile 2 alle Daten aus den einzelnen Blättern untereinader aufgelistet habe.
Wenn ich den unten aufgeführten Code ausführe, klappt dies auch für das erste Arbeitsblatt super, fürs zweite Arbeitsblatt habe ich dann das Makro copy 2 und usw.
Nun zu dem Problem: Wenn ich die Makros in der Entwicklungsumgebung teste, kopiert er die Daten entsprechend. Rufe ich die Makros über eine Combobox auf, erstellz er mir eine komplett neue Datei. Woran liegt das?
Wie müsste das Makro aussehen, wenn die letzte beschriebene Zeile automatisch ermittelt werden soll und nicht über Range E1000?
Vielen Dank schon einmal.
Gruß Markus
Private Sub CommandButton1_Click()
call copy
call copy2
End Sub

Sub Copy()
Dim Target As Range
If Sheets("Tabelle1").Range("E23") = "" Then
Set Target = Sheets("Tabelle5").Range("E23")
Else
Set Target = Sheets("Tabelle5").Range("A65536").End(xlUp).Offset(1, 0)
End If
Sheets("Tabelle1").Range("E23:E1000").Copy Destination:=Target
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenbereich von mehreren Blättern kopieren
19.03.2013 09:20:34
mehreren
Hallo,
so?
Sub aaaa()
Dim wks As Worksheet
Application.ScreenUpdating = False
For Each wks In Worksheets
If Not wks Is Sheets("Tabelle5") Then
With wks
If .Range("E23")  "" Then
.Range(.Cells(23, 5), .Cells(Rows.Count, 5).End(xlUp)).Copy _
Sheets("Tabelle5").Cells(Rows.Count, 5).End(xlUp).Offset(1)
End If
End With
End If
Next wks
End Sub

Gruß
Rudi

AW: Datenbereich von mehreren Blättern kopieren
19.03.2013 09:46:23
mehreren
Hallo Rudi,
Läuft super! Macht genau was es soll. Kann man das ggf. noch so umschreiben, dass ein bestimmtes Arbeitsblatt davon ausgeschlossen werden kann.
Habe nämlich ein Deckblatt, wo viele Info`s zusammenlaufen, und da kopiert er dann auch den entsprechenden Bereich heraus. Hätte ich villeicht vorher erwähnen sollen.
Aber vielen Dank schon einmal.
Gruß Markus

Anzeige
AW: Datenbereich von mehreren Blättern kopieren
19.03.2013 09:56:46
mehreren
Hallo,
Sub aaaa()
Dim wks As Worksheet
Application.ScreenUpdating = False
For Each wks In Worksheets
Select Case LCase(wks.Name)
Case "deckblatt", "tabelle5"  'klein schreiben!
'nix passiert
Case Else
With wks
If .Range("E23")  "" Then
.Range(.Cells(23, 5), .Cells(Rows.Count, 5).End(xlUp)).Copy _
Sheets("Tabelle5").Cells(Rows.Count, 5).End(xlUp).Offset(1)
End If
End With
End Select
Next wks
End Sub

Gruß
Rudi

AW: Datenbereich von mehreren Blättern kopieren
19.03.2013 10:23:49
mehreren
Hallo Rudi,
das ist super, macht 100% was es soll, vielen vielen Dank.
Gruß Markus

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige