Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
908to912
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
908to912
908to912
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Tabellenblätter kopieren

Tabellenblätter kopieren
17.09.2007 21:30:00
Swen
Hallo an alle,
ich möchte gerne alle Tabellenblätter die in dem einen workbook("A") sind (aber nur die Tabellenblätter die sichtbar sind / visible = true) gleichzeitig in das workbook("B") kopieren.
Wenn ich sie über eine Schleife kopiere gehen die bezüge auf untereinder auf den Tabellenblättern verloren!
Hat jemand eine Idee wie ich es mit einem kopiert bekomme (wobei es unterschiedliche viele Tabellenblätter sein können) aber nie mehr als 30.
GRuß
Swen

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

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblätter kopieren
18.09.2007 02:10:17
Markus
Hallo Sven,
warum kopierst Du nicht gleich die ganze Mappe nach B und schmeisst dort alle Tabellenblätter raus,
die nicht "VISIBLE" sind raus.
Markus

AW: Tabellenblätter kopieren
18.09.2007 10:41:00
Swen
Hallo Markus,
da ich leider in der worksbook auch eine ganze reihe von Makros habe die nicht mit abgespeichertwerden dürfen!
Hast du evtl. ein baispiel code?
gruß
swen

AW: Tabellenblätter kopieren
18.09.2007 10:46:00
Swen
axo diese Frage ist noch offen!

AW: Tabellenblätter kopieren
18.09.2007 11:26:40
fcs
Hallo Swen,
hier eine Routine, die die sichtbaren Blätter der aktiven Mappe in eine neue Mappe kopiert. Du kannst der Variablen wb jedoch auch eine bestimmte Arbeitsmappe zuweisen.
Gruß
Franz

Sub SichtbareBlaetterKopieren()
Dim Blaetter(), wb As Workbook, Blatt As Object, iI%
Set wb = ActiveWorkbook 'oder auch Workbooks("TestMappe.xls")
'Namen der sichtbaren Blätter (Tabellenblätter und/oder Diagramme) in Feldvariable sammeln
For Each Blatt In wb.Sheets
If Blatt.Visible = xlSheetVisible Then
iI = iI + 1
ReDim Preserve Blaetter(1 To iI)
Blaetter(iI) = Blatt.Name
End If
Next
'Sichtbare Blätter in neue Arbeitsmappe kopieren
wb.Sheets(Blaetter()).Copy
End Sub


Anzeige
AW: Tabellenblätter kopieren
19.09.2007 17:26:44
Swen
Hallo,
wie muss es aussehen wenn ich die blätter in das workbook mit dem namem strTemp kopieren möchte?
derzeit machte er es immer in as workbook mappe.... aber ma mappe 1 mal mappe2 etc. ich möchte gerne das er das neue workbook so nennt wie die variable strtemp heißt!
gruß
swen

AW: Tabellenblätter kopieren
19.09.2007 17:36:35
Swen
Hallo,
.Sheets(Blaetter()).Copy
in dieser Zeile wird doch die kopie der tabellen erstellt und in eine neues workbook kopiert kann man hier dem neuen work book auch einen namen geben?
gruß
swen

AW: Tabellenblätter kopieren
19.09.2007 18:05:00
Gerd
Hi,
einem Workbook kann man nur einen Namen geben, indem man
"Speichern unter..." verwendet, in VBA mit SaveAS.
mfg Gerd

Anzeige
AW: Tabellenblätter kopieren
19.09.2007 18:11:00
Swen
Hallo,
ich ahbe es so gemacht ich erstelle erst ein workbook und kopiere dann in dieses hineien!
mit diesem code,

Sub Daten_Archiv()
Dim strTemp As String, strPfad As String, strCamic As String, strTemp1 As String
Dim objSheet As Worksheet
If Worksheet_suchen("Coordinates") = True Then
strCamic = Worksheets("Coordinates").Cells(1, 7).Value
If Worksheets("Prog").Cells(1, 1).Value = "Network" Then
strPfad = Worksheets("Prog").Cells(2, 1).Value
Else
strPfad = Worksheets("Prog").Cells(3, 1).Value
End If
strTemp = Date$ & " - " & Worksheets("Coordinates").Cells(1, 1).Value _
& " - " & Worksheets("Coordinates").Cells(1, 7).Value
Ordner_erstellen (strPfad & "\ToolArchiv\")
If strCamic  "" Then
strTemp1 = strPfad & "\ToolArchiv\" & strTemp & ".xls"
Workbooks.Add
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs (strTemp1)
Windows(ThisWorkbook.Name).Activate
With Workbooks(ThisWorkbook.Name)
''                For Each objSheet In .Worksheets
''                    If objSheet.Visible = xlSheetVisible Or objSheet.Visible = True Then
''                        objSheet.Select
''                        objSheet.Copy After:=Workbooks(strTemp & ".xls").Sheets(1)
''                        Windows(ThisWorkbook.Name).Activate
''                    End If
''                Next
Dim Blaetter(), iI%, wb As Workbook
For Each objSheet In .Worksheets
If objSheet.Visible = xlSheetVisible Then
iI = iI + 1
ReDim Preserve Blaetter(1 To iI)
Blaetter(iI) = objSheet.Name
End If
Next
.Sheets(Blaetter()).Copy After:=Workbooks(strTemp & ".xls").Sheets(1)
End With
Windows(strTemp & ".xls").Activate
With Workbooks(strTemp & ".xls")
For Each objSheet In .Worksheets
If VBA.Left(objSheet.Name, 3) = "Tab" Then
objSheet.Delete
End If
Next
End With
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs (strTemp1)
ActiveWorkbook.Close
Windows(ThisWorkbook.Name).Activate
End If
End If
Windows(ThisWorkbook.Name).Activate
If Worksheet_suchen("Tabelle") = False Then
Worksheets.Add
ActiveSheet.Name = "Tabelle"
End If
With Workbooks(ThisWorkbook.Name)
For Each objSheet In .Worksheets
If Not objSheet.Name = "Tabelle" And objSheet.Visible = xlSheetVisible Then
Application.DisplayAlerts = False
objSheet.Delete
End If
Next
End With
End Sub


mein problem ist aber immer noch das in den tabellen bevor ich diese kopiere unter einander verknüpfungen sind und zwar werden einige zelle auf anderen zelle mit "=Coordinates!G10" auf andere zellen auf anderen tabellenblättern verknüpft so das sich eine änderung auf dem coordinates baltt durch das gesamte workbook durch zieht!
wenn ich also das neu erstellte workbook öffne dann fragt er mich immer ob er die verknüpfuungen aktualisieren soll.
Oder sind es evtl. andere verknüpfungen die er da meint?
gruß
swen

Anzeige
AW: Tabellenblätter kopieren
19.09.2007 18:22:47
Gerd
Hi,
wenn du die Formeln ohne Bezug auf die Alte Mappe behalten willst/musst, ersetze im
neuen Workbook "Coordinates!" durch nichts, ist mit Replace Sekundensache.
mfg Gerd

AW: Tabellenblätter kopieren
20.09.2007 10:05:57
Swen
Hallo,
wie würde dieses ersetzte im workbook in vba aussehen?
gruß
swen

AW: Tabellenblätter kopieren
21.09.2007 00:35:47
Gerd
Hi,
das kannst du mit dem Makrorekorder erledigen.
mfg Gerd

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige