Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.04.2024 20:05:21
28.04.2024 18:33:31
28.04.2024 18:25:12
28.04.2024 14:18:05
Anzeige
Archiv - Navigation
1824to1828
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
Inhaltsverzeichnis

Bereich in andere Mappe kopieren

Bereich in andere Mappe kopieren
21.04.2021 14:54:51
Eisi
Hallo zusammen,
nachfolgender Code leistet gute Dienste. Er soll aber nicht den kompletten Bereich kopieren, sondern nur B3:I500, ohne Makros, mit Zelleninhalt und Formatierungen.
I500 deshalb, weil der Bereich auch Leerzeilen hat und somit kann ich das Ende der letzten befüllten Zeile nicht finden. Den UsedRange kann ich unmöglich anpassen. Darum meine Hilferuf :-) In B4 steht immer der Dateiname und das passt wunderbar, dass das Sheet mit dem Dateinamen automatisch benannt wird.
Vielen Dank. VG Eisi :-)

Public Sub AngebotInExcelCopy2()
Dim wbkQuelle As Workbook
Dim wbkZiel As Workbook
Dim wksQuelle As Worksheet
Set wbkQuelle = Workbooks("AngebotsTool.xlsm")
Set wbkZiel = Workbooks("AlleAngebote.xlsx")
Set wksQuelle = wbkQuelle.Worksheets("AngebotDrucken")
wksQuelle.Copy After:=wbkZiel.Sheets(wbkZiel.Sheets.Count)
With ActiveSheet.UsedRange
.Value = .Value
End With
ActiveSheet.Name = Range("B4").Text
tbl_AngebotDrucken.Protect ("")
End Sub

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereich in andere Mappe kopieren
21.04.2021 14:59:54
Hajo_Zi
With Range("B3:I500")
GrußformelHomepage
AW: Bereich in andere Mappe kopieren
21.04.2021 15:16:01
Eisi
Danke für die Hilfe, aber leider speichert der Code das Sheet jetzt nicht mehr ab.
AW: Bereich in andere Mappe kopieren
21.04.2021 15:32:32
Eisi
Hatte den falschen Namen gewählt für meine Tabelle, deshalb hat das Abspeichern nicht funktioniert. Der Code selber funktioniert also, aber es wird immer noch das komplette Sheet kopiert und nicht der Bereich alleine. Gibt es noch eine Möglichkeit um den Bereich zu bestimmen? Danke. :-)
Anzeige
AW: Bereich in andere Mappe kopieren
21.04.2021 15:36:00
Hajo_Zi
wksQuelle.Worksheets("Tabelle123").Range("B3:I500").Copy
Gruß Hajo
AW: Bereich in andere Mappe kopieren
21.04.2021 15:51:16
Eisi
Hallo Hajo,
wenn ich den folgenden Code durchlaufen lasse, kommt die Fehlermeldung: Methode oder Datenobjekt nicht gefunden.
Wahrscheinlich habe ich Deinen Code falsch eingesetzt? Bitte nochmal um Hilfe. Danke. :-)

Public Sub AngebotInExcelCopy2()
Dim wbkQuelle As Workbook
Dim wbkZiel As Workbook
Dim wksQuelle As Worksheet
Set wbkQuelle = Workbooks("AngebotsTool")
Set wbkZiel = Workbooks("AlleAngebote.xlsx")
Set wksQuelle = wbkQuelle.Worksheets("AngebotDrucken")
wksQuelle.Copy After:=wbkZiel.Sheets(wbkZiel.Sheets.Count)
wksQuelle.Worksheets("AngebotDrucken").Range("B3:I500").Copy
With ActiveSheet.Range
.Value = .Value
End With
ActiveSheet.Name = Range("B4").Text
tbl_AngebotDrucken.Protect ("")
MsgBox "Complete"
End Sub

Anzeige
AW: Bereich in andere Mappe kopieren
21.04.2021 16:12:13
Hajo_Zi
wksQuelle.Copy
sollte durch meinen Code ersetzt werden.
Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.
Sollte die Datei verlinkt werden?
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
ändern.
Bilder lade ich mir nicht runter, da Excel damit nichts anfangen kann.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.
Gruß Hajo
Anzeige
AW: Bereich in andere Mappe kopieren
21.04.2021 16:55:45
Eisi
Ich hänge mal die Mappe an, damit man besser arbeiten kann. Danke für die Hilfe. :-)
Ach ja, die Mappe "AlleAngebote.xlsx" bitte selber dazu anlegen und öffnen, damit der Code da rein speichern kann. Später möchte ich über eine Schleife prüfen, ob die Datei vorhanden und offen ist.
https://www.herber.de/bbs/user/145700.xlsm
AW: Bereich in andere Mappe kopieren
21.04.2021 17:08:27
Hajo_Zi
ich sehe es richtig meine Vorschläge haben nicht gefallen, darum ist mein Vorsychlkag nicht enthalten.
ich bin dann raus, dch schreibe nicht für den Papierkorn. Ich bin dann raus.
Viel Erfolg noch.
Gruß Hajo
Anzeige
AW: Bereich in andere Mappe kopieren
21.04.2021 17:33:36
Thomas
Sorry, wenn ich Deinem Leistungsniveau nicht entspreche, trotzdem danke für Deine Bemühungen.
VG Eisi :-)
AW: Bereich in andere Mappe kopieren
22.04.2021 10:27:45
fcs
Hallo Thomas,
statt das Tabellenblatt aus der Quelle ins Ziel zu kopieren muss hier in der Zieldatei ein neues Tabellenblatt angelegt werden und dann der Zellbereich aus dem Quellblatt in das neue Blatt kopiert und per PasteSpecial eingefügt werden. Dabei müssen Spaltenbreiten, Formate und Werte eingefügt werden.
LG
Franz

Public Sub AngebotInExcelCopy2()
Dim wbkQuelle As Workbook
Dim wbkZiel As Workbook
Dim wksQuelle As Worksheet
Dim wksZiel As Worksheet
Dim rngCopy As Range
Dim Zeile_L As Long
Set wbkQuelle = Workbooks("AngebotsTool.xlsm")
'Prüfen, ob Datei "AlleAngebote.xlsx" geöffnet ist
For Each wbkZiel In Application.Workbooks
If LCase(wbkZiel.Name) = LCase("AlleAngebote.xlsx") Then
Exit For
End If
Next
If wbkZiel Is Nothing Then
Set wbkZiel = Workbooks.Open("C:\Angebote\AlleAngebote.xlsx")
End If
Set wksQuelle = wbkQuelle.Worksheets("AngebotDrucken")
With wksQuelle
'letzte Zeile mit Inhalt
Zeile_L = .Cells.Find(What:="*", After:=.Cells(1, 1), LookIn:=xlValues, _
lookat:=xlWhole, Searchorder:=xlByRows, searchdirection:=xlPrevious).Row
'Zellbereich in Spalte B bis I setzen ab Zelle B3
Set rngCopy = .Range(.Cells(3, 2), .Cells(Zeile_L, 9))
End With
With wbkZiel
'neues Blatt am Ende einfügen
.Worksheets.Add After:=.Sheets(.Sheets.Count)
Set wksZiel = .Sheets(.Sheets.Count)
End With
With wksZiel
rngCopy.Copy
With .Range("B3")
.PasteSpecial xlPasteColumnWidths
.PasteSpecial xlPasteFormats
.PasteSpecial xlPasteValues
End With
.Name = Range("B4").Text
End With
'ZielDatei speichern
wbkZiel.Save
tbl_AngebotDrucken.Protect ("")
End Sub

Anzeige
:-) Herzlichen Dank Franz :-)
22.04.2021 16:04:18
Eisi
Herzlichen Dank Franz, funktioniert super.
Unbezahlbare Hilfe, Daaaanke.
GLG Eisi :-)

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige