07.09.2016, 10:17
Hallo VBA-Freunde,
ich bin auf der Suche nach einer Problemlösung:
Auf meinem Laptop läuft mein Makro einwandfrei.
Das Makro löscht einfach einen Bereich und kopiert dann Bereiche aus anderen Tabellenblättern wieder auf den gelöschten Bereich.
Hier der Code:
Nun passierte folgendes:
Der User löschte ein paar Zeilen auf der Tabelle "Summary" um meinen Code zu überprüfen, der erste Aufruf lief normal, bei späteren Aufrufen kam die Meldung:
Laufzeitfehler -215 741 78448 (800 10 108)
Select für Object "_Worksheet" fehlgeschlagen.
Ab und zu kam auch die Meldung
Paste für Object "_Worksheet" fehlgeschlagen
Und um dem Ganzen noch die Krone aufzusetzen, das Laptop verhielt sich mit dem Code höchst unterschiedlich,
je nach dem ob es an der Dockinstation war,
ob es über WLAN am Server war oder mit dem Lankabel.
Wie kann man so was abfangen?
Beim Treffen habe ich die Originaldatei dabei.
Danke für eure Überlegungen.
Viele Grüße
Heinz
ich bin auf der Suche nach einer Problemlösung:
Auf meinem Laptop läuft mein Makro einwandfrei.
Das Makro löscht einfach einen Bereich und kopiert dann Bereiche aus anderen Tabellenblättern wieder auf den gelöschten Bereich.
Hier der Code:
Code:
Sub RefreshSummary()
'Dimensionierung der Variablen
Dim Bis As Integer
Dim i As Integer
'Zuweisung derWerte zu den Variablen
Bis = Application.WorksheetFunction.Max(Worksheets("Coversheet").Range("L:L"))
'Wechsel auf Summary und dort alles im Bereich A15 bis M10000 löschen
Sheets("Summary").Select
Range("A5:M10000").ClearContents
'Schleife zum Kopieren der Lots
For i = 1 To Bis
Sheet = "Supply " & Worksheets("Coversheet").Range("M" & i + 4).Value
Worksheets(Sheet).Select
BelegteZellen = Application.WorksheetFunction.CountA(Worksheets(Sheet).Range("A:A")) + 6
Range("A15:M" & BelegteZellen).Copy
Worksheets("Summary").Select
'Einfuegezeile feststellen, kopiertes Lot einfuegen
LetzteZeile = Application.WorksheetFunction.CountA(Worksheets("Summary").Range("C:C")) + 3
Range("A" & LetzteZeile).Select
ActiveSheet.Paste
Next
'Fertigmeldung
Range("N4:W4").Select
Selection.AutoFill Destination:=Range("N4:W" & Worksheets("Summary").Range("O1").Value), Type:=xlFillDefault
Range("N4:W" & Worksheets("Summary").Range("O1").Value).Select
Worksheets("pricesheet").Select
MsgBox ("ready")
End Sub
Der User löschte ein paar Zeilen auf der Tabelle "Summary" um meinen Code zu überprüfen, der erste Aufruf lief normal, bei späteren Aufrufen kam die Meldung:
Laufzeitfehler -215 741 78448 (800 10 108)
Select für Object "_Worksheet" fehlgeschlagen.
Ab und zu kam auch die Meldung
Paste für Object "_Worksheet" fehlgeschlagen
Und um dem Ganzen noch die Krone aufzusetzen, das Laptop verhielt sich mit dem Code höchst unterschiedlich,
je nach dem ob es an der Dockinstation war,
ob es über WLAN am Server war oder mit dem Lankabel.
Wie kann man so was abfangen?
Beim Treffen habe ich die Originaldatei dabei.
Danke für eure Überlegungen.
Viele Grüße
Heinz
Es ist nicht genug, zu wissen. Man muss es auch anwenden.
Es ist nicht genug, zu wollen. Man muss es auch tun.
Es ist nicht genug, zu wollen. Man muss es auch tun.