Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1516to1520
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

Kopie und Speicherung eines Tabellenblatts

Kopie und Speicherung eines Tabellenblatts
04.10.2016 21:28:16
Andreas
Hallo,
ich suche nach einem Makro für die Kopie und Speicherung eines Tabellenblatts aus einer anderen Arbeitmappe und in eine geöffnetete Arbeitsmappe.
Habe schon verschiedene Code ausprobiert, jedoch Endet das immer mit Laufzeitfehler.
Nun komme ich so nicht weiter.
Vielleicht kann jemand einen funktionstüchtigen Code bereitstellen?
Ich versuch es mal genau zu Beschreiben.
CMD1 Mit einer "CMD Kopie aus" möchte ich das "Tabellenblatt1" aus einer anderen Datei vor das "Tabellenblatt1" in der geöffneten Mappe kopiert einfügen.
Muss dazu die andere Datei unbedingt geöffnet sein oder man das auch über ein Makro im Hintergrund erledigen- ohne die Datei erst zu öffnen?
Würde dazu ein Abfragefenster benötigen- "welche Datei soll eingefügt werden?"-
um dann in das Explorer Fenster zu gelangen- das mir z.B. den Windows-Explorer anbietet- um meine Datei auszuwählen. Aus der ausgewählten Datei soll nun die "Tabelle1" vor mein aktives Tabellenblatt Kopiert und umbenannt werden in " Bearbeitung ".
CMD2 Mit einer weiteren "CMD Kopie Bearbeitung" möchte ich das Tabellenblatt "Bearbeitung" der aktiven Mappe Kopieren und ans Ende der aktiven Mappe aber mit dem aktuellen Datum als Namen abspeichern.
Als aktive Mappe meine ich die, in dr ich mich befinde.
Sollte die Datei noch nicht existieren habe ich schon eine funktionierende Meldung.

Option Explicit
Sub GeheZu() 'Tabelle Bearbeitung
Dim i As Integer
Dim TabName As String
Dim gefunden As Boolean
TabName = "Bearbeitung"
For i = 1 To Sheets.Count
If Sheets(i).Name = TabName Then
Sheets(TabName).Select
gefunden = True
Exit For
End If
Next i
If Not gefunden Then
MsgBox "Die Tabelle " & Chr(34) & TabName & Chr(34) _
& " existiert nicht in dieser Mappe!", vbCritical + vbOKOnly, _
"Fehler in Zelle C1"
End If
End Sub

Also kurz gesagt:
CMD1 "CMD Kopie aus" aus anderer ungeöffneten Datei die Tabelle1 in meine aktive Mappe vor Tabellenblatt1 umbenannt in "Bearbeitung" kopieren / über Explorerfenster für Auswahl
CMD2 " Kopie Bearbeitung" in der gleichen Mappe, wo ich mich befinde, eine Kopie der Tabelle "Bearbeitung" (wenn existiert) und Umbenannt mit "Datum" als Name
Ist dies möglich- oder wird das gar nix.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Kopie Bearbeitung
04.10.2016 23:50:40
KlausF
Hallo Andreas,
für den letzten Teil folgendes Makro:
Sub SheetCopy()
Dim strName As String
strName = Format(Date, "dd.mm.yy")
If SheetExist("Bearbeitung") = True Then
If SheetExist(strName) = True Then
MsgBox "Tabellenblatt schon vorhanden!"
Else
ThisWorkbook.Worksheets("Bearbeitung").Copy _
After:=ThisWorkbook.Worksheets(Worksheets.Count)
ActiveSheet.Name = strName
End If
End If
End Sub
Private Function SheetExist(strTMP As String) As Boolean
Dim wksSheet As Worksheet
For Each wksSheet In ThisWorkbook.Worksheets
If wksSheet.Name = strTMP Then SheetExist = True: Exit For
Next
End Function
Gruß
Klaus
Anzeige
AW: Kopie und Speicherung eines Tabellenblatts
05.10.2016 14:32:48
Andreas
Danke Klaus, geht so wie es sein soll
Grüße Andreas
AW: Kopie und Speicherung eines Tabellenblatts
05.10.2016 14:40:12
Andreas
Hallo an alle Excel Experten,
wenn es doch eine Möglichkeit für das Vorhaben gibt- wäre ich sehr dankbar.
CMD1 Mit einer CMD "Kopie aus" möchte ich das "Tabellenblatt1" aus einer anderen Datei vor das "Tabellenblatt1" in meiner geöffneten Mappe kopiert einfügen.
Muss dazu die andere Datei unbedingt geöffnet sein oder man das auch über ein Makro im Hintergrund erledigen- ohne die Datei erst zu öffnen?
Würde dazu ein Abfragefenster benötigen- "welche Datei soll eingefügt werden?"-
um dann in das Explorer Fenster zu gelangen- das mir z.B. den Windows-Explorer anbietet- um meine Datei auszuwählen. Aus der ausgewählten Datei soll nur die "Tabelle1" vor mein aktives Tabellenblatt Kopiert werden.
Ist dies überhaupt möglich? Speziell die Abfragefunktion in einem Fragefenster- Welche Datei... ?
Danke erst mal.
Andreas D.
Anzeige
mal als Ansatz
06.10.2016 19:04:05
KlausF
Hallo Andreas,
probier mal
Sub ImportWorksheet()
Dim Quelle As Workbook
Dim Ziel As Workbook
Set Ziel = ThisWorkbook
Dim strDatei As String
On Error GoTo Fehler
'Dialog "Datei öffnen" anzeigen
strDatei = Application.GetOpenFilename("Excel-strDateien (*.xlsm;*.xlsx), *.xlsm;*.xlsx",  _
MultiSelect:=False)
'Abbrechen falls keine strDatei ausgewählt
If strDatei = False Then
MsgBox "Keine Datei zum Import ausgewählt", , "Abbruch"
Exit Sub
End If
With Application
.ScreenUpdating = False
.EnableEvents = False
.DisplayAlerts = False
End With
'Ausgewählte Datei öffnen
Workbooks.Open FileName:=strDatei
Set Quelle = ActiveWorkbook
With Ziel
Quelle.Worksheets("Tabelle1").Copy Before:=.Worksheets(1)
.Worksheets(1).Name = "Bearbeitung" 'Sheet umbenennen
Quelle.Close True
End With
Fehler:
With Application
.ScreenUpdating = True
.EnableEvents = True
.DisplayAlerts = True
End With
'Speicher freigeben
Set Quelle = Nothing
Set Ziel = Nothing
End Sub
Bei dem Datei öffnen Dialog müsste Dir evtl. noch jemand helfen
weil ich einen Mac habe und das für Windows nicht testen kann.
Gruß
Klaus
Anzeige
Nachtrag
07.10.2016 12:18:09
KlausF
Moin,
beim Öffnen-Dialog hat sich beim Suchen und Ersetzen noch ein Fehler eingeschlichen:
strDatei = Application.GetOpenFilename("Excel-Dateien" (*.xlsm;*.xlsx), *.xlsm;*.xlsx", _
MultiSelect:=False)
Gruß
Klaus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige