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

Abbruch Macro wenn Tabellenblatt nicht vorhanden

Abbruch Macro wenn Tabellenblatt nicht vorhanden
Stefan
Hallo Zusammen,
habe übers Forum einen Code für das Kopieren von Alt.xls in Neu.xls bekommen.
Ein Problem hab ich dazu noch:
Wenn im Alt.xls das Tabellenblatt nicht vorhanden ist, dann bricht er mir an dieser Stelle ab:
Set wks_SMDRüsten_Alt = wbAlt.Worksheets("SMD-Rüsten Material")
Hier ist das Blatt "SMD-Rüsten Material" nicht vorhanden.
Wie kann ich ne Abfrage machen ob das Blatt vorhanden ist bevor ich es setze ?
Gruß
Stefan
AW: Abbruch Macro wenn Tabellenblatt nicht vorhanden
10.08.2010 16:07:12
JogyB
Hallo Stefan,
ich lasse das Makro bei so etwas immer kontrolliert in einen Fehler laufen:
    On Error Resume Next
Set wks_SMDRüsten_Alt = wbAlt.Worksheets("SMD-Rüsten Material")
If Err.Number  0 Then
Exit Sub
End If
On Error GoTo 0

Das Exit Sub könnte jetzt nicht passen, wenn es sich um eine Prozedur handelt, die von einer anderen Prozedur aufgerufen wird, aber dazu müsste ich den gesamten Code kennen.
Man könnte das auch schöner über ein On Error Goto ErrorHandler machen, aber dazu bräuchte ich ebenfalls den kompletten Code.
Gruß, Jogy
Anzeige
AW: Abbruch Macro wenn Tabellenblatt nicht vorhanden
10.08.2010 16:23:27
Stefan
Hallo Jogy,
hier der betreffende Ausschnitt...
Set wks_SMDRüsten_Alt = wbAlt.Worksheets("SMD-Rüsten Material")
'Abfrage ob Tabellenblatt in SMD-Rüsten Material Alt vorhanden ist
'Wenn kein Fehler dann
Set wks_SMDL_Alt = wbAlt.Worksheets("SMD-Bestücken_L")
Set wks_SMDB_Alt = wbAlt.Worksheets("SMD-Bestücken_B")
' SMD-Rüsten Material & Bestücken L & Bestücken B
With wbAlt.Worksheets("SMD-Rüsten Material")
.Range("F9").Copy Destination:=wbNeu.Worksheets(.Name).Range("F9") 'Rüstpositionen
.Range("H9:I10").Copy Destination:=wbNeu.Worksheets(.Name).Range("H9:I10") 'Bemerkung zu Rüstposition
With wbAlt.Worksheets("SMD-Bestücken_L")
.Range("F10").Copy Destination:=wbNeu.Worksheets(.Name).Range("F10") 'Bestückleistung L
.Range("F12").Copy Destination:=wbNeu.Worksheets(.Name).Range("F12") 'Bestückzeit L
.Range("H9:I16").Copy Destination:=wbNeu.Worksheets(.Name).Range("H9:I16") 'Bemerkung Bestückleistung L
End With
With wbAlt.Worksheets("SMD-Bestücken_B")
.Range("F10").Copy Destination:=wbNeu.Worksheets(.Name).Range("F10") 'Bestückleistung B
.Range("F12").Copy Destination:=wbNeu.Worksheets(.Name).Range("F12") 'Bestückzeit B
.Range("H9:I16").Copy Destination:=wbNeu.Worksheets(.Name).Range("H9:I16") 'Bemerkung Bestückleistung B
End With
'hier weiter machen wenn Fehler
Anzeige
AW: Abbruch Macro wenn Tabellenblatt nicht vorhanden
10.08.2010 16:13:07
Henrik
Hallo Stefan,
ungetestet

for each wks in wbAlt.Worksheets
If wks.Name="SMD-Rüsten Material" then
Set wks_SMDRüsten_Alt = wbAlt.Worksheets("SMD-Rüsten Material")
End if
next

AW: Abbruch Macro wenn Tabellenblatt nicht vorhanden
10.08.2010 16:31:07
Stefan
Hi,
komme nicht drauf... bringt mir Fehlermeldung Else ohne If (obwohl ich doch IF al Anweisung drin habe ?
'Nicht immer vorhandene Tabellenblätter
If wks.Name = "SMD-Rüsten Material" Then
Set wks_SMDRüsten_Alt = wbAlt.Worksheets("SMD-Rüsten Material")
'Abfrage ob Tabellenblatt in SMD-Rüsten Material Alt vorhanden ist
'Wenn kein Fehler dann
Set wks_SMDL_Alt = wbAlt.Worksheets("SMD-Bestücken_L")
Set wks_SMDB_Alt = wbAlt.Worksheets("SMD-Bestücken_B")
' SMD-Rüsten Material & Bestücken L & Bestücken B
With wbAlt.Worksheets("SMD-Rüsten Material")
.Range("F9").Copy Destination:=wbNeu.Worksheets(.Name).Range("F9") 'Rüstpositionen
.Range("H9:I10").Copy Destination:=wbNeu.Worksheets(.Name).Range("H9:I10") 'Bemerkung zu Rüstposition
With wbAlt.Worksheets("SMD-Bestücken_L")
.Range("F10").Copy Destination:=wbNeu.Worksheets(.Name).Range("F10") 'Bestückleistung L
.Range("F12").Copy Destination:=wbNeu.Worksheets(.Name).Range("F12") 'Bestückzeit L
.Range("H9:I16").Copy Destination:=wbNeu.Worksheets(.Name).Range("H9:I16") 'Bemerkung Bestückleistung L
End With
With wbAlt.Worksheets("SMD-Bestücken_B")
.Range("F10").Copy Destination:=wbNeu.Worksheets(.Name).Range("F10") 'Bestückleistung B
.Range("F12").Copy Destination:=wbNeu.Worksheets(.Name).Range("F12") 'Bestückzeit B
.Range("H9:I16").Copy Destination:=wbNeu.Worksheets(.Name).Range("H9:I16") 'Bemerkung Bestückleistung B
End With
Else
End If

Anzeige
AW: Abbruch Macro wenn Tabellenblatt nicht vorhanden
10.08.2010 16:52:41
Stefan
Hallo,
bleibt ebenfalls bei
If wks.Name = "SMD-Rüsten Material" Then
stehen, wenns die Tabelle nicht gibt...
?
Gruß
Stefan
AW: Abbruch Macro wenn Tabellenblatt nicht vorhanden
10.08.2010 16:53:38
Stefan
?
AW: Abbruch Macro wenn Tabellenblatt nicht vorhanden
10.08.2010 16:57:43
Georg
Hi,
nach Rüstposition
End With ?
ist es das?
gruß
robert
AW: Abbruch Macro wenn Tabellenblatt nicht vorhanden
10.08.2010 17:08:48
Stefan
hab den Fehler...
mit
On Error Resume Next
Set wks_SMDRüsten_Alt = wbAlt.Worksheets("SMD-Rüsten Material")
If Err.Number = 0 Then
Funktionierts so wie ich es will
Danke an ALLE die ich in Aufruhr versetzt habe...
SORRY UND DANKE
Stefan

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige