Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
184to188
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
184to188
184to188
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Problem Pastespecial-Methode

Problem Pastespecial-Methode
01.12.2002 17:08:34
Ralf
Hallo und guten Abend
Kann mir von euch jemand sagen warum beim ausführen dieses Makros eine Fehlermeldung 1004 ( Die Pastespecial-Methode des Range - objektes kann nicht ausgeführt werden ) Dies ist nur ein Außschnitt aus dem Makro.
Der Fehler erscheint in der 8 Zeile von unten
Next i
Worksheets("1").Activate
Worksheets("1").Shapes("autoform 81").Delete
Worksheets("1").Shapes("autoform 82").Delete
Range("h51").Formula = "=Sum(H19:H50)"
Range("H51").Borders.ColorIndex = 0
Range("I51").Borders.ColorIndex = 0
Range("f51").Formula = "Übertrag:"
With Selection
.Font.FontStyle = "fett"
.HorizontalAlignment = xlRight
End With

ActiveSheet.Name = Range("i19").Value
Set NewSheet = Sheets.Add(Type:="Folgeseiten.xls")

NewSheet.Move After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Range("h5").Value = Sheets(Sheets.Count - 1).Range("i19").Value + 1
Range("H9").FormulaR1C1 = "=" & Sheets(Sheets.Count - 1).Name & "!R[42]C"
With Worksheets("2")
For i = 9 To 50
If .Cells(i, 4).Text = "" And .Cells(i + 1, 4).Text = "" Then
.Cells(i + 1, 3).PasteSpecial
ActiveSheet.Name = Range("h5").Value
Exit Sub
End If
Next i

End With
End With

End Sub

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Problem Pastespecial-Methode
01.12.2002 17:37:54
N. Davidheimann
Hallo Ralf,

pastespecial ohne copy ??

Gruß
norbert

Re: Problem Pastespecial-Methode
01.12.2002 18:05:44
Ralf
Ich versteh nicht ganz was du willst hier ist das ganze makro villeicht hilt das ein bischen mein Problem zu lösen

Sub AutoForm1_BeiKlick()
Dim i As Integer
If Selection Is Nothing Then
Exit Sub
Else
Selection.Copy
End If

With Worksheets("1")
For i = 23 To 50
If .Cells(i, 4).Text = "" And .Cells(i + 1, 4).Text = "" Then
.Cells(i + 1, 3).PasteSpecial Paste:=xlValues
Exit Sub
End If
Next i
If Selection Is Nothing Then
Exit Sub
Else
Selection.Copy
End If
Worksheets("1").Activate
Worksheets("1").Shapes("autoform 81").Delete
Worksheets("1").Shapes("autoform 82").Delete
Range("h51").Formula = "=Sum(H19:H50)"
Range("H51").Borders.ColorIndex = 0
Range("I51").Borders.ColorIndex = 0
Range("f51").Formula = "Übertrag:"
With Selection
.Font.FontStyle = "fett"
.HorizontalAlignment = xlRight
End With
ActiveSheet.Name = Range("i19").Value
Set NewSheet = Sheets.Add(Type:="Folgeseiten.xls")

NewSheet.Move After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Range("h5").Value = Sheets(Sheets.Count - 1).Range("i19").Value + 1
Range("H9").FormulaR1C1 = "=" & Sheets(Sheets.Count - 1).Name & "!R[42]C"
With Worksheets("2")
For i = 9 To 50
If .Cells(i, 4).Text = "" And .Cells(i + 1, 4).Text = "" Then
.Cells(i + 1, 3).PasteSpecial
ActiveSheet.Name = Range("h5").Value
Exit Sub
End If
Next i
End With
End With

End Sub

Anzeige
Re: Problem Pastespecial-Methode
01.12.2002 19:36:11
Ramses
Hallo Ralf,

du musst dem Makro schon sagen was es einfügen soll.
Nur mit PasteSpecial ist leider nicht getan :-)


Sub dem()
With Worksheets("2")
    For i = 9 To 50
        If .Cells(i, 4).Text = "" And .Cells(i + 1, 4).Text = "" Then
            'Formeln und Zahlenformate
            .Cells(i + 1, 3).PasteSpecial Paste:=xlPasteFormulasAndNumberFormats
            '---
            'Nur Werte
            '.Cells(i + 1, 3).PasteSpecialPaste:=xlPasteValues
            '---
            'Nur Formeln
            '.Cells(i + 1, 3).PasteSpecial Paste:=xlPasteFormulas
            '---
            'Nur Formate
            '.Cells(i + 1, 3).PasteSpecial Paste:=xlPasteFormats
            ActiveSheet.Name = Range("H5").Value
            Exit Sub
        End If
    Next i
End With
End Sub 
     Code eingefügt mit Syntaxhighlighter 1.16

Gruss Rainer

Anzeige
Re: Problem Pastespecial-Methode
01.12.2002 20:09:53
klappt immer noch nicht
So sieht es jetzt aus und es kommt immer noch die Fehlermeldung


Sub AutoForm1_BeiKlick()
Dim i As Integer
If Selection Is Nothing Then
Exit Sub
Else
Selection.Copy
End If

With Worksheets("1")
For i = 23 To 50
If .Cells(i, 4).Text = "" And .Cells(i + 1, 4).Text = "" Then
.Cells(i + 1, 3).PasteSpecial
Exit Sub
End If
Next i
Worksheets("1").Activate
Worksheets("1").Shapes("autoform 81").Delete
Worksheets("1").Shapes("autoform 82").Delete
Range("h51").Formula = "=Sum(H19:H50)"
Range("H51").Borders.ColorIndex = 0
Range("I51").Borders.ColorIndex = 0
Range("f51").Formula = "Übertrag:"
With Selection
.Font.FontStyle = "fett"
.HorizontalAlignment = xlRight
End With

ActiveSheet.Name = Range("i19").Value
Set NewSheet = Sheets.Add(Type:="Folgeseiten.xls")


NewSheet.Move After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Range("h5").Value = Sheets(Sheets.Count - 1).Range("i19").Value + 1
Range("H9").FormulaR1C1 = "=" & Sheets(Sheets.Count - 1).Name & "!R[42]C"
With Worksheets("2")
For i = 9 To 50
If .Cells(i, 4).Text = "" And .Cells(i + 1, 4).Text = "" Then

.Cells(i + 1, 3).PasteSpecial

ActiveSheet.Name = Range("H5").Value
Exit Sub
End If
Next i
End With


End With

End Sub

Anzeige
Re: Problem Pastespecial-Methode
01.12.2002 20:30:59
N. Davidheimann
Hallo,

kann ja sein, daß ich falsch liege aber (ohne VBA) muß ich einen Bereich zunächst kopieren und dann (Werte) einfügen. In VBA habe ich in solchen Fällen den Code genauso aufgebaut, also erst copy dann pastespecial.

Gruß
Norbert

Re: Problem Pastespecial-Methode
01.12.2002 21:12:57
Ramses
Also ebenfalls ohne Anrede

Meine Codesequenz funktioniert

Wie Kollege N.Davidheimann schon bemerkt hat:
Ich weiss nicht, wie lange der kopierte Bereich in der Zwischenablage ist. Du machst sehr viel zwischen dem Copy-Befehl und dem Einfügen, z.B. Delete usw..
Prüfe doch einmal, ob zu diesem Zeitpunkt überhaupt noch was in der Zwischenablage ist. Wenn das Makro stoppt, wählst du anschliessend in der Tabelle einfach den Befehl: Bearbeiten-Inhalte einfügen.
Steht er nicht zur Verfügung, ist die Zwischenablage leer und der Fehler tritt deshalb auf. Dann solltest du den Copy-Befehl in deinem Makro vielleicht erst kurz vorher ausführen.
Vorher brauchst du ihn ja sowieso nicht.

Anzeige
Re: Problem Pastespecial-Methode
01.12.2002 21:28:05
M. Kuhn
Moin Ralf,

wie Dir in diesem Thread schon alle geraten haben:

vor PasteXXX muss erst etwas kopiert sein! Dein zuerst kopierter Bereich ist bereits beim ersten .Copy 'verbraucht'.

Ich mache nochmal einen Versuch, dass per Code klarzustellen.
Du solltest aber versuchen, Ordnung und Struktur in den Gesamtcode zu bringen, damit Du selbst das 'Gehen' lernst, das Forum kann es.

Code:

Sub AutoForm1_BeiKlick()
Dim i As Integer
Call BereichKopieren
With Worksheets(1)
For i = 23 To 50
If .Cells(i, 4).Text = "" And .Cells(i + 1, 4).Text = "" Then
.Cells(i + 1, 3).PasteSpecial
Exit Sub
End If
Next i
Worksheets(1).Activate
Worksheets("1").Shapes("autoform 81").Delete
Worksheets("1").Shapes("autoform 82").Delete
Range("h51").Formula = "=Sum(H19:H50)"
Range("H51").Borders.ColorIndex = 0
Range("I51").Borders.ColorIndex = 0
Range("f51").Formula = "Übertrag:"
With Selection
.Font.FontStyle = "fett"
.HorizontalAlignment = xlRight
End With
ActiveSheet.Name = Range("i19").Value
ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count)
Sheets(Sheets.Count).Name = "Folgeseiten"
Sheets(Sheets.Count).Range("h5").Value = Sheets(Sheets.Count - 1).Range("i19").Value + 1
Range("H9").FormulaR1C1 = "=" & Sheets(Sheets.Count - 1).Name & "!R[42]C"
Call BereichKopieren 'hier wird neu kopiert
With Worksheets(2)
For i = 9 To 50
If .Cells(i, 4).Text = "" And .Cells(i + 1, 4).Text = "" Then
.Cells(i + 1, 3).PasteSpecial
ActiveSheet.Name = Range("H5").Value
Exit Sub
End If
Next i
End With
End With
End Sub


Sub BereichKopieren()

With 'Quellblatt
If Selection Is Nothing Then
Exit Sub
Else
Selection.Copy
End If
End With
End Sub

Nicht schön, aber selten und noch gemäß Deinen Vorgaben.

MfG Mario

Anzeige

10 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige