Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1740to1744
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

Worksheet kopieren Fehler1004

Worksheet kopieren Fehler1004
22.02.2020 20:51:41
Mario
Hallo,
ich fange gerade erst an mich mit VBA zu beschäftigen. Ich habe folgenden Code zusammengeklaubt: _

Sub CommandButton1_Click()
Dim intAnzahl As Integer
Sheets("Tabelle1").Copy After:=Sheets("Tabelle1")
ActiveSheet.Name = Format(Now + 1, "YYYYMMDD")
For intAnzahl = ActiveSheet.OLEObjects.Count To 1 Step -1
If ActiveSheet.OLEObjects(intAnzahl).progID = "Forms.CommandButton.1" Then
ActiveSheet.OLEObjects(intAnzahl).Delete
End If
Next
Worksheets("Tabelle1").Activate
End Sub

Der Code funktioniert auch wunderbar, jedoch benötige ich noch 2 Erweiterungen bzw. Varianten:
1. Wie schaffe ich es, dass das neue Worksheet nicht nur mit dem aktuellen Datum benannt wird sondern auch eine fortlaufende Versionierung erhält wie z.B. 20200222_V1?
2. Wenn ich den Code so belasse und der Code am selben Tag 2 mal ausgeführt wird, wie kann ich die Debugg Fehlerbox durch die Message "Report wurde schon angelegt." ersetzen?
Vielen Dank für Eure Hilfe.

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

Betreff
Datum
Anwender
Anzeige
AW: Worksheet kopieren Fehler1004
22.02.2020 21:09:12
onur
Wozu noch eine Versions-Nr, wenn der Code nur einmal am Tag ausgeführt werden darf?
AW: Worksheet kopieren Fehler1004
23.02.2020 09:34:54
Mario
Hallo Onur,
ich betreue mehrere Projektstreams, in denen es verschiedene Anforderungen gibt, deshalb benötige ich beide Varianten.
Luschi konnte mir bei der Variante 1 schon die Lösung geben, vielen Dank an Luschi nochmal dafür.
Grüsse
Mario
AW: Worksheet kopieren Fehler1004
23.02.2020 09:17:59
Luschi
Hallo Mario,
versuch mal meine Code-Version:

Sub CommandButton1_Click()
Dim ws_1 As Worksheet, ws_2 As Worksheet, _
intAnzahl As Integer, intZ_1 As Integer, intZ_2 As Integer, _
sTab As String
Worksheets("Tabelle1").Copy After:=Worksheets("Tabelle1")
Set ws_1 = ActiveSheet
intZ_1 = 0
sTab = Format(Now + 1, "YYYYMMDD_V")
For Each ws_2 In ThisWorkbook.Worksheets
If Left(ws_2.Name, Len(sTab)) = sTab Then
intZ_2 = --Mid(ws_2.Name, Len(sTab) + 1)
intZ_1 = Application.WorksheetFunction.Max(intZ_1, intZ_2)
End If
Next ws_2
intZ_1 = intZ_1 + 1
ws_1.Name = sTab & intZ_1
With ws_1
For intAnzahl = .OLEObjects.Count To 1 Step -1
If .OLEObjects(intAnzahl).progID = "Forms.CommandButton.1" Then
.OLEObjects(intAnzahl).Delete
End If
Next intAnzahl
End With
ThisWorkbook.Worksheets("Tabelle1").Activate
Set ws_1 = Nothing: Set ws_2 = Nothing
End Sub
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Worksheet kopieren Fehler1004
23.02.2020 09:32:46
Mario
Hallo Luschi,
perfekt, klappt mit der Versionierung. Hast Du vielleicht noch einen Tipp wie ich den Laufzeitfehler abfange mit einer Message, wenn ich meinen Code beibehalte, wie im 2. Punkt erklärt?
Zum Hintergrund, ich muss beide Varianten zur Verfügung haben, da es unterschiedliche Anforderungen seitens der verschiedenen Projektstreams die ich betreue gibt.
Viele Grüsse.
AW: Worksheet kopieren Fehler1004
23.02.2020 10:47:22
Luschi
Hallo Mario,
das geht so:

Sub CommandButton1_Click()
Dim ws As Worksheet, intAnzahl As Integer, sTab As String
sTab = Format(Now + 1, "YYYYMMDD")
On Error Resume Next
Set ws = ThisWorkbook.Worksheets(sTab)
On Error GoTo 0
If Not (ws Is Nothing) Then
'wenn es das TB schon gibt ist ws  Nothing
MsgBox "Tabellenblatt '" & sTab & "' existiert schon!!!", _
16 + vbMsgBoxSetForeground, "geht nicht..."
Set ws = Nothing
Exit Sub
End If
Worksheets("Tabelle1").Copy After:=Worksheets("Tabelle1")
ActiveSheet.Name = sTab
For intAnzahl = ActiveSheet.OLEObjects.Count To 1 Step -1
If ActiveSheet.OLEObjects(intAnzahl).progID = "Forms.CommandButton.1" Then
ActiveSheet.OLEObjects(intAnzahl).Delete
End If
Next
Worksheets("Tabelle1").Activate
End Sub
Gruß von Luschi
aus klein-Paris
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige