Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
400to404
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
400to404
400to404
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Fehler 1004

Fehler 1004
Stephan
Hallo,
ich suche Hilfe bei folgender Fehlermeldung:
Die Methode 'Range' für das Objekt '_Global' ist fehlgeschlagen
Dabei wird folgende Zeile markiert ---->
Weiß jemand , woran das liegen könnte?

Dim i As Integer, LetzteZeile As Integer
Dim srchStr As Variant
Dim wksWatch As Worksheet
Dim wksIm As Worksheet
Dim c As Range
Sub Aktualisieren()
Set wksWatch = Worksheets("Watchlist")
Set wksIm = Worksheets("Import")
Application.ScreenUpdating = False
LetzteZeile = Range("A65536").End(xlUp).Row
For i = 4 To LetzteZeile
With Sheets("Import").Range(Cells(4, 1), Cells(LetzteZeile, 1))
srchStr = wksIm.Cells(i, 1).Value
Set c = .find(srchStr, LookIn:=xlValues)
If Not c Is Nothing Then
---->   Range(Cells(c.Row, c.Column + 1), Range(Cells(c.Row, Cells(c.Row, 256).End(xlToRight).Column))).Copy
Sheets("Watchlist").Cells(i, 2).PasteSpecial
Application.CutCopyMode = False
End If
End With
Next i
Application.ScreenUpdating = True
End Sub

Gruß Stephan

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Fehler 1004
Bert
excel kann nicht feststellen, auf welches Blatt sich der range bezieht
oder mit anderen Worten, du musst den Blattnamen angeben. Aber nicht nur
vor Range, auch vor cells.
Bert
AW: Fehler 1004
Ramses
Hallo
Nimm den ursprünglichen Code so wie ich ihn geschrieben habe,.. dann geht es auch ;-)
Gruss Rainer
Sorry Bert,... sollte zu Stephans Beitrag ;-) o.T.
Ramses
...
Wieder Fehler 1004 - hier ganzer Code
Stephan
Hallo Bert,
Leider kommt jetzt der Fehler:
Die Methode 'Range' für das Objekt '_Worksheet' ist fehlgeschlagen.
Ich hab hier nochmal den ganzen Code aufgeführt ( ein Sorry an Ramses, dass ich den Code geändert gepostet hab, aber anders hatte es auch die Fehlermeldung gegeben!)
Änderungen hier:Blattnamen bzw. die Zuweisungen vor Cells und Range.
(Nochmal das Grund-Problem: in der Watchlist stehen ein paar Datensätze, in Import alle
Die in Import sind immer aktuell. Die Watchlist soll sich aus dem Importsheet aktualisieren.)

Sub Aktualisieren()
Dim c As Range
Dim i As Integer, LetzteZeile As Integer
Dim wksWatch As Worksheet, wksIm As Worksheet
Dim srchStr As Variant
Set wksWatch = Worksheets("Watchlist")
Set wksIm = Worksheets("Import")
Application.ScreenUpdating = False
On Error GoTo Schluss
LetzteZeile = wksIm.Range("A65536").End(xlUp).Row
For i = 4 To LetzteZeile
With wksIm.Range(wksIm.Cells(4, 1), wksIm.Cells(LetzteZeile, 1))
srchStr = wksWatch.Cells(i, 1).Value
Set c = .Find(srchStr, LookIn:=xlValues)
If Not c Is Nothing Then
wksIm.Range(wksIm.Cells(c.Row, c.Column + 1), wksIm.Range(wksIm.Cells(c.Row, Cells(c.Row, 256).End(xlToRight).Column))).Copy
wksWatch.Cells(i, 2).PasteSpecial
Application.CutCopyMode = False
End If
End With
Next i
ErrorExit:
Application.ScreenUpdating = True
Exit Sub
Schluss:
MsgBox "Es ist folgender Fehler aufgetreten:" & vbCrLf & Err.Number & ": " & Err.Description
Resume ErrorExit
End Sub

Weitere Hilfe wäre sehr nett!
Gruß Stephan
Anzeige
AW: Wieder Fehler 1004 - hier ganzer Code
Ramses
Hallo
ich habe den Code geprüft.
Da war etwas des guten zuviel drin :-)
Aber dafür, dass er aus der Hand geschrieben war ohne zu testen, trotzdem nicht schlecht
wksIm.Range(Cells(c.Row, c.Column + 1), Cells(c.Row, Cells(c.Row, 256).End(xlToRight).Column)).Copy
So hätte es heissen müssen.
Hier nochmal der ganze Code:


Option Explicit
Sub Aktualisieren()
Dim As Range
Dim As Integer, LetzteZeile As Integer
Dim wksWatch As Worksheet, wksIm As Worksheet
Dim srchStr As Variant
Set wksWatch = Worksheets("Watchlist")
Set wksIm = Worksheets("Import")
Application.ScreenUpdating = False
On Error GoTo Schluss
LetzteZeile = wksIm.Range("A65536").End(xlUp).Row
For i = 4 To LetzteZeile
    With wksIm.Range(wksIm.Cells(4, 1), wksIm.Cells(LetzteZeile, 1))
        srchStr = wksWatch.Cells(i, 1).Value
        Set c = .Find(srchStr, LookIn:=xlValues)
        If Not Is Nothing Then
            wksIm.Range(Cells(c.Row, c.Column + 1), Cells(c.Row, Cells(c.Row, 256).End(xlToRight).Column)).Copy
            wksWatch.Cells(i, 2).PasteSpecial
            Application.CutCopyMode = False
        End If
    End With
    
Next i
ErrorExit:
Application.ScreenUpdating = True
Exit Sub
Schluss:
MsgBox "Es ist folgender Fehler aufgetreten:" & vbCrLf & Err.Number & ": " & Err.Description
Resume ErrorExit
End Sub


Der Code wurde getestet und die Daten wurden korrekt übertragen.
Gruss Rainer
Anzeige
Funktioniert! :-))) Vielen Dank!!!
Stephan
Puuh, das hat Schweiß gekostet, aber ich hab viel dazugelernt.
Danke für die Mühe, Rainer.
Ich stell den Code nochmal in den ursprünglichen Thread.
Gruß Stephan

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige