coldzero89
Goto Top

1004 Die Paste-Methode des Worksheet... ActiveSheet.Paste funktioniert nicht mehr

Moinsen,

Ich hab nen ellen langes Marko das in einer Tabelle Werte die Senkrecht angeordnet sind, waagerecht anordnet.
Danach wird der Waagerechte Bereich kopiert, in ein anderes Datenblatt geganngen, die nächste leere Zeile gesucht, Datum eingetragen - X Spalten weiter springen und die Daten einfügen.

Das hat bisher 1a funktioniert, auf einmal meint der "Laufzeitfehler '1004': Die Paste-Methode des WOrksheet-Objektes konnte nicht ausgeführt werden.

Beim Debuggen bemängelt er die Zeile "ActiveSheet.Paste"

Hier der Code (Aus dem von Senkrecht nach Waagerecht nehme ich nur 2 Beispiele, den rest schneid ich raus sonst is der Code zu lang)

Sub Makro_Daten_übertragen()
'  
'   Makro_Daten_übertragen Makro  

  Zeit = Right(Now(), 8)

'   Spalten zu Zeilen konvertieren  
    
    Range("B2").Select  
    Selection.Copy
    Range("A12").Select  
    Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Range("B3").Select  
    Application.CutCopyMode = False
    Selection.Copy
    Range("B12").Select  
    Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Range("B4").Select  
    Application.CutCopyMode = False
    Selection.Copy
    Range("C12").Select  
    Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
.
.
.
.
    ActiveWindow.SmallScroll Down:=-6
    Application.CutCopyMode = False
    ActiveWindow.SmallScroll Down:=-42
    Range("A12").Select  
'   Ende der Spalten-Zeilen-Konvertierung  



'   Daten in die jeweilige Anlagentabelle übertragen  
'  
'   Makro am 16.08.2010 von Valeri Daubert aufgezeichnet / 25.06.12 Makro von Kevin Lange angepasst  
'  
    Sheets("Makro").Select      ' in den Reiter "Makro" springen  
    Range("A12:I12").Select     ' relevanten Bereich auswählen  
    Selection.Copy              ' ... kopieren  
    
    Sheets("Bad Kreuznach").Select  'in den Reiter "Bad Kreuznach" springen  
    Range("A10").Select  
    
    Cells(65000, 1).End(xlUp).Offset(1, 0).Select   ' nächste leere Zeile suchen  
    ActiveCell.FormulaR1C1 = Now                    ' das Datum eintragen  
    Selection.NumberFormat = "DD.MM.YYYY"  
    Cells(65000, 1).End(xlUp).Offset(0, 2).Select   ' in die Datenspalte springen  
    ActiveSheet.Paste                               ' Daten einfügen  
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

'  
'  
    Sheets("Makro").Select      ' in den Reiter "Makro" springen  
    Range("A33:P33").Select     ' relevanten Bereich auswählen  
    Selection.Copy              ' ... kopieren  
    
    Sheets("Göttelborn").Select  'in den Reiter "Göttelborn" springen  
    Range("A10").Select  
    
    Cells(65000, 1).End(xlUp).Offset(1, 0).Select   ' nächste leere Zeile suchen  
    ActiveCell.FormulaR1C1 = Now                    ' das Datum eintragen  
    Selection.NumberFormat = "DD.MM.YYYY"  
    Cells(65000, 1).End(xlUp).Offset(0, 2).Select   ' in die Datenspalte springen  
    ActiveSheet.Paste                               ' Daten einfügen  
    Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False
'  
'  
    Sheets("Makro").Select          ' in den Reiter "Makro" springen  
    Range("A45:G45").Select         ' relevanten Bereich auswählen  
    Selection.Copy                  ' ... kopieren  
    
    Sheets("Landau").Select  'in den Reiter "Landau" springen  
    Range("A10").Select  
    
    Cells(65000, 1).End(xlUp).Offset(1, 0).Select   ' nächste leere Zeile suchen  
    ActiveCell.FormulaR1C1 = Now                    ' das Datum eintragen  
    Selection.NumberFormat = "DD.MM.YYYY"  
    Cells(65000, 1).End(xlUp).Offset(0, 2).Select   ' in die Datenspalte springen  
    ActiveSheet.Paste                               ' Daten einfügen  
    Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False
    
End Sub

Ich weiß nicht ob von euch eventuell Jemand eine Alternative hat, ich hab schon ein paar ausm Inet probiert, jedesmal der selbe fehler... es ist zum Mäusemelken wieso das URplötzlich nicht mehr geht.

Als Randinfo: In 6 anderen Excel-Datein funktioniert das genau so einwandfrei ^_^

Gruß und Danke
Zero

Content-Key: 190947

Url: https://administrator.de/contentid/190947

Ausgedruckt am: 19.03.2024 um 03:03 Uhr

Mitglied: ColdZero89
ColdZero89 11.09.2012 um 11:36:26 Uhr
Goto Top
Moinsen,

nach suchen, Haare raufen und Kopf gegen die Wand hämmern, hab ich die Ursache gefunden.

Der Befehl aus Zeile 51, 68 und 84 sorgt dafür, das die Kopierte Range nicht mehr im Zwischenspeicher ist. Daher der Abbruch, er konnte NICHTs Einfügen, was Excel nicht im Speicher hatte.

Hab das Script nun so angepasst das im Nachhinein das Feld Formatiert wird.

Verdrehte Welt, Komische Welt, Microsoft face-smile Mehr bleibt nicht zu sagen.

Gruß Zero