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

Bereich kopieren in verschiedene Arbeitsmappen

Bereich kopieren in verschiedene Arbeitsmappen
17.08.2005 15:43:40
Daniel
Hallo zusammen,
ich habe mal wieder ein problemchen wo ich nicht klar komme. Ich habe Mappe1.xls wo ich ab zeile 5 den bereich "a5:dg5" einfügen möchte, den ich aus der Mappe2.xls auch aus zeile 5 den bereich "a5:dg5" herauskopiere (manuell --> copy/paste). Aus Mappe3.xls kopiere ich auch den bereich "a5:dg5" in die Mappe1.xls aber dann auf die nächste freie zeile, in diesem falle zeile6. Wenn ich den ersten kopy/paste befehl ausführe macht er dies auch ohne probleme. beim nächsten mal fügt er nur den bereich "b5:dg5" ein usw. er verschiebt den paste immer um eine zelle nach links. Untenstehender code habe ich gemacht.
gruss und danke daniel
Dim xlsArbeitsmappe As Workbook, xlsTabBlatt As Worksheet, xlsArbeitsmappe_R As Workbook, xlsTabBlatt_R As Worksheet, rngBereich As Range, rngBereich_R As Range, strBereich As String, rngZelle As Range, strWBName As String

Sub Hauptmodul()
Set xlsArbeitsmappe = Application.Workbooks("Geschäftsstandblatt_V_01.xls")
Set xlsTabBlatt = xlsArbeitsmappe.Worksheets("Geschäft")
xlsTabBlatt.Activate
Set rngBereich = Range("A5:A65536")
Call CopyRow(xlsArbeitsmappe.Name)
End Sub


Sub CopyRow(ByVal xlsArbeitsmappe As String)
Set xlsArbeitsmappe_R = Application.Workbooks(xlsArbeitsmappe)
Set xlsTabBlatt_R = xlsArbeitsmappe_R.Worksheets("Terminübersicht")
xlsTabBlatt_R.Activate
Set rngBereich_R = xlsTabBlatt_R.Range(("A5:DG5")
rngBereich_R.Copy
xlsTabBlatt.Activate
'* Erste freie Zeile adressieren und den kopierten Bereich einfügen
For Each rngZelle In rngBereich
If rngZelle.Value = "" Then
rngZelle.Select
rngZelle.Activate
xlsTabBlatt.Range(ActiveCell.Address).PasteSpecial Paste:=xlPasteAll
'* Ameisenlinie des festgelegten Kopierbereichs wird zurückgesetzt
Application.CutCopyMode = False
Exit For
End If
Next rngZelle
End Sub

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereich kopieren in verschiedene Arbeitsmappen
18.08.2005 07:48:13
Herbert
hallo Daniel,
probier überhaupt das ganze einmal ohne Activate, Select, und Schleife...
in etwa so:


Option Explicit
Public Sub ber_kop()
Dim ez&, ber As Range, shZ As Worksheet
Dim wbQ As Workbook, wbZ As Workbook
Set wbQ = ActiveWorkbook   'Workbooks("Mappe1.xls")
Set wbZ = Workbooks("Mappe2.xls")
Set shZ = wbZ.Sheets("Tabelle1")
Set ber = wbQ.Sheets("Tabelle1").[A5:DG5]
ez = shZ.Cells(Rows.Count, 1).End(xlUp).Row + 1
ber.Copy shZ.Cells(ez, 1)
End Sub

     gruß Herbert
Anzeige
AW: Bereich kopieren in verschiedene Arbeitsmappen
18.08.2005 08:31:22
Daniel
Hallo Herbert,
funzen tuts nicht, d.h eine fehlermeldung kriege ich nicht aber leider auch kein ergebnis. der bereich wo das ergebnis stehen sollte bleibt leer(a5:dg5). was bedeutet & bei der variablen ez&. wenn ich es manuell machen würde möchte ich den bereich a5:dg5 von mappe 2 in den bereich a5:dg5 in mappe1 kopieren resp. einfügen
liebe grüsse daniel
AW: "&"
18.08.2005 09:04:11
Herbert
"&" bedeutet Datentyp "Long"...
in diesen Datentyp kann man ganze Zahlen zwischen
-2 147 483 648 und 2 147 483 647 schreiben...
gruß Herbert
AW: "&"
18.08.2005 10:37:05
Daniel
Hallo Herbert,
irgendwas funktioniert immer noch nicht. die zellen der quelldatei bestehen aus einer verknüpfung zu einer anderen arbeitsmappe. beim kopieren werden die zelle verschoben, so dass wenn ich den selben datensatz einlese die spalten jeweils einen falschen zellinhalt ausgeben. wie kann ich dieses problem beheben?
liebe grüsse daniel
Anzeige
AW: "&"
18.08.2005 10:49:43
Herbert
dann probiers so:
(ungetestet)

Sub ber_kop()
Dim ez&, ber As Range, shZ As Worksheet
Dim wbQ As Workbook, wbZ As Workbook
Set wbQ = ActiveWorkbook   'Workbooks("Mappe1.xls")
Set wbZ = Workbooks("Mappe2.xls")
Set shZ = wbZ.Sheets("Tabelle1")
Set ber = wbQ.Sheets("Tabelle1").[A5:DG5]
ez = shZ.Cells(Rows.Count, 1).End(xlUp).Row + 1
shZ.Cells(ez, 1).Value ber.Value
End Sub

gruß Herbert
AW: "&"
18.08.2005 10:54:51
Daniel
hallo herbert,
wir leider nicht unterstüzt "Objekt unterstüzt diese Eigenschaft nicht"
gruss daniel
AW: "&"
18.08.2005 11:26:07
Herbert
das konnte nicht gehen..

Sub ber_kop()
Dim ez&, ber As Range, shZ As Worksheet
Dim wbQ As Workbook, wbZ As Workbook
Set wbQ = ActiveWorkbook   'Workbooks("Mappe1.xls")
Set wbZ = Workbooks("Mappe2.xls")
Set shZ = wbZ.Sheets("Tabelle1")
Set ber = wbQ.Sheets("Tabelle1").Range("A5:DG5")
ez = shZ.Cells(Rows.Count, 1).End(xlUp).Row + 1
shZ.Range(shZ.Cells(ez, 1), shZ.Cells(ez, 85)).Value = ber.Value
End Sub

gruß Herbert
Anzeige
AW: "&"
18.08.2005 12:54:13
Daniel
Hallo Herbert,
das funktioniert prima. vielen dank. ich hätte aber noch ne zusätzliche frage: beim pastespecial kann ich ja auch angeben "paste:=xlPasteFormats" wie kann ich das auch noch bewerkstelligen damit das funktioniert, d.h. wenn einige zellen noch eingefärbt sind?
hoffe dich damit nicht allzu sehr zu belästigen mit meinen fragen...
liebe grüsse daniel
AW: "&"
18.08.2005 13:38:29
Herbert
das mußt du dann so machen:


'Inhalte und Formate kopieren
Sub ber_kop()
Dim ez&, ber As Range, shZ As Worksheet
Dim wbQ As Workbook, wbZ As Workbook
Set wbQ = ActiveWorkbook
Set wbZ = Workbooks("Mappe2.xls")
Set shZ = wbZ.Sheets("Tabelle1")
Set ber = wbQ.Sheets("Tabelle1").Range("A5:DG5")
With Application
   .ScreenUpdating = False
   ez = shZ.Cells(Rows.Count, 1).End(xlUp).Row + 1
   shZ.Range(shZ.Cells(ez, 1), shZ.Cells(ez, 85)).Value = ber.Value
   ber.Copy
   shZ.Cells(ez, 1).PasteSpecial xlPasteFormats
   .CutCopyMode = False
   .ScreenUpdating = True
End With
End Sub

     gruß Herbert
Anzeige
AW: Bereich kopieren in verschiedene Arbeitsmappen
18.08.2005 08:39:54
Daniel
Hallo Herbert,
sorry es funktioniert. jetzt habe ich als berner es auch begriffen (das sind in der schweiz die etwas langsameren!) habe die quelle und das ziel vertauscht gehabt. besten dank für deine tipps.
liebe grüss daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige