Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
528to532
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
528to532
528to532
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Laufzeitfehler 1004: Makro geht nicht!
10.12.2004 18:27:47
Jan
Hallo,
ich habe mir in Excel folgendes Makro mit Hilfe von einem Buch zusammengebastelt, doch leider geht es irgendwie nicht. Komme aber nicht drauf wo der Fehler liegt. Excel bringt immer den Fehler 1004. Beim debuggen springt der immer hier hin: ActiveSheet.Paste
Vielleicht liegt es an der Formatierung der Zellen, aber die sind leer und wurde nicht geändert.
Kann jemand von euch Profis mal schauen und mir sagen wo das Problem ist
Vielen Dank
Sub CommandButton3_Click() Const Blatt1 = "until" Const Blatt2 = "ziel" Dim i As Integer Dim iAnz As Integer Application.ScreenUpdating = False Sheets(Blatt1).Activate Range("A1:A50").Select iAnz = 0 i = 0 Do Until i = ActiveSheet.UsedRange.Rows.Count If ActiveCell.Value = "df" Then Selection.EntireRow.Copy Sheets(Blatt2).Activate ActiveSheet.Paste ActiveCell.Offset(1, 0).Select Sheets(Blatt1).Select ' ActiveCell.Offset(1, 0).Select iAnz = iAnz + 1 Else ActiveCell.Offset(1, 0).Select End If i = i + 1 Loop Application.CutCopyMode = False Application.ScreenUpdating = False MsgBox " Es wurden " & iAnz & " Sätze übertragen" End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 1004: Makro geht nicht!
10.12.2004 19:01:22
Josef
Hallo Jan!
Der Fehler kommt von "Sheets(Blatt1)", es müsste "Sheets("Blatt1")" heisen!
Um datensätze zu kopieren, muss man aber nicht den Cursor wie einen
nassen hund durch die Gegend hetzten;-))
Probier mal das.

Sub CommandButton3_Click()
Dim rng As Range
Dim sFirst As String
Dim iAnz As Integer
Application.ScreenUpdating = False
Set rng = Sheets("Blatt1").Range("A:A").Find(What:="df")
If Not rng Is Nothing Then
sFirst = rng.Address
Do
rng.EntireRow.Copy Sheets("Blatt2").Cells(iAnz + 1, 1)
iAnz = iAnz + 1
Set rng = Sheets("Blatt1").Range("A:A").FindNext(after:=rng)
Loop While rng.Address <> sFirst
End If
Application.ScreenUpdating = True
MsgBox " Es wurden " & iAnz & " Sätze übertragen"
End Sub

Gruß Sepp
PS: Ist das Buch von einem gewissen B.H. ?
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige