Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
140to144
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
140to144
140to144
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

copy-sheet Fehler 1004

copy-sheet Fehler 1004
25.07.2002 14:53:06
wope
In excel2000 hat man immer das Problem, dass
man nicht mehrere sheets kopieren kann.
mit der Funktion MySheetCopy kann ich dieses Problem
umgehen (siehe unten). Aber der Zähler für neue Mappen
geht in die höhe. Weiss jemand wie man das rücksetzen kann.
Ohne excel zu beenden oder zu speichern.
Ich habe nämlich Dateien die sind ca. 4MB gross und das Speichern
dauert ewig.

Danke


Function DoSheetExist(ByVal wkb2CheckSheet As Workbook, Optional sht2Check As Worksheet, Optional Name2Check As String) As Boolean
' Funktion überprüft ob eine Tabelle in einer Arbeitsmappe
' bereits besteht Parameter Tabelle kann entweder als name
' oder als worksheet objekt übergeben werden
Dim i As Worksheet
Dim HlpStr As String

DoSheetExist = False

If sht2Check Is Nothing Then
HlpStr = Name2Check
Else
HlpStr = sht2Check.Name
End If

For Each i In wkb2CheckSheet.Worksheets
If i.Name = HlpStr Then
DoSheetExist = True
Exit Function '!!!!!!!!!
End If
Next i

End Function

Function MySheetCopy(Optional ParAfter As Variant = -1)
' Da Excel immer beim Kopieren Fehler 1004 nach einigen malenliefert
' diese Funktion
Dim TmpWrkbook As Workbook
Dim TmpSht As Worksheet
Dim HlpCnt As Integer
HlpCnt = 1


Set TmpWrkbook = ActiveWorkbook
Set TmpSht = ActiveSheet
TmpSht.Copy
'Sheets.Copy
Do
HlpCnt = HlpCnt + 1
Loop While DoSheetExist(TmpWrkbook, , ActiveSheet.Name + "(" + Format(HlpCnt) + ")")

ActiveSheet.Name = ActiveSheet.Name + "(" + Format(HlpCnt) + ")"

On Error Resume Next
If ParAfter <> -1 Then
ParAfter = ParAfter
Else
Set ParAfter = TmpSht
End If
On Error GoTo 0
Sheets(1).Move After:=ParAfter

End Function

Sub testMySheetCopy()
Dim HlpSheet As Worksheet
Dim HlpCnt As Integer
For HlpCnt = 1 To 200
Set HlpSheet = ActiveSheet
MySheetCopy ParAfter:=Sheets(Sheets.Count)
HlpSheet.Select
Next HlpCnt

End Sub

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

Betreff
Datum
Anwender
Anzeige
Re: copy-sheet Fehler 1004
25.07.2002 15:04:00
Gerd
In meinem Excel 2000 kann man mehrere Sheets kopieren:
Sheets(Array("Tabelle1", "Tabelle2", "Tabelle3")).Copy Before:=Sheets(1)

Gruß
Gerd

Re: copy-sheet Fehler 1004
25.07.2002 15:09:56
wope
In Deinem Fall funktioniert es
Es soll aber immer die gleiche Vorlage sehr oft kopiert werden
siehe auch
https://www.herber.de/forum/archiv/40to44/t40729.htm

Danke

Re: copy-sheet Fehler 1004
25.07.2002 16:18:20
Gerd
Was stört Dich bei:

Sub Kopieren()
Set Vorlage = ActiveSheet
For HlpCnt = 1 To 200
Vorlage.Copy After:=Sheets(Sheets.Count)
Next HlpCnt
End Sub
Der Fehler im angegebenen Verweis entsteht durch den Versuch, zwei Blättern den gleichen Namen zu geben.

Gruß
Gerd



Anzeige
Re: copy-sheet Fehler 1004
25.07.2002 18:12:46
wope
Versuch es einmal mit einer Tabelle die
einige Daten enthält. Also ich bekomm dann immer:
Laufzeitfehler '1004':
Die Copy-Methode des Worksheet-Objektes konnte nicht ausgeführt werden.
Re: copy-sheet Fehler 1004
26.07.2002 08:34:23
Gerd
Mit Daten ist es auch kein Problem, dauert nur länger.
Die genannte Fehlermeldung erhalte ich, wenn die Arbeitsmappe geschützt ist oder die Arbeitsmappe freigegeben ist.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige