Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1448to1452
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
Inhaltsverzeichnis

Fehler 1004

Fehler 1004
21.09.2015 15:49:13
Peter
Hallo Zusammen,
bitte um eure Hilfe. Ich bekomme andauernd den Fehler 1004 und ich komme irgend nicht weiter.
Codeauszug:
Schritt 1:
- Öffnen der Datei X , kein Problem
- Selektieren der Zeile, kein Problem
With wksKBB_Ub
.Range(.Cells(10 + i, 3), .Cells(10 + i, ls)).Select
End With
Schritt 2:
Dies selektierte Zeile soll nun in die Datei 2 kopiert werden
With wksKBB_CRM
.Cells(lz1 + 1, 3).Select
ab hier kommt der Laufzeitfehler (Die Select-Methode des Range-Objektes konnte
nicht ausgeführt werden
.Paste
End With
Was mach ich falsch und wie muss es richtig sein?
Danke für Eure Hilfe im voraus!
Peter

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler 1004
21.09.2015 16:09:31
ck
Hi,
 With wksKBB_Ub
.Range(.Cells(10 + i, 3), .Cells(10 + i, ls)).Copy wksKBB_CRM.Cells(lz1 + 1, 3)
End With
warum willst Du hin und her hüpfen ;)
lg
Chris

AW: Fehler 1004
21.09.2015 16:20:14
Daniel
Hi
du kannst immer nur auf dem aktiven Tabellenblatt einen Zellbereich selektieren.
wenn du einen Zellbereich auf einem nicht aktiven Tabellenblatt selektieren willst, dann musst du zuerst dieses Tabellenblatt selektieren, denn die Select-Funktion kann diesen Blattübergreifenden Sprung nicht ausführen:
wksKBB_CRM
.Select
.Cells(lz1 + 1, 3).Select 
wenn das Tabellenblatt auch noch in einer anderen Datei liegt, müsstest du die vorher auch noch selektieren, weil du genauso ein Tabellenblatt nur in der aktiven Datei selektieren kannst:
wksKBB_CRM
.Parent.Select
.Select
.Cells(lz1 + 1, 3).Select 
alternativ kann man auch den Sprung mit Application.Goto ausführen:
wksKBB_CRM
Application.Goto .Cells(lz1 + 1, 3) 
allerdings ist das alles in 99% aller Fälle nicht notwendig, weil man in VBA die Befehle auch direkt an die Zellbereiche anhängen kann, ohne die vorher zu selektieren.
Das Selektieren ist allein der Tatsache geschuldet, dass wir Anwender mit der Maus arbeiten und immer erst das Objekt und danach den Befehl auswählen. Der Recorder muss dass dann auch so aufzeichnen, aber notwendig ist es für die Programmierung nicht.
 With wksKBB_Ub
.Range(.Cells(10 + i, 3), .Cells(10 + i, ls)).Copy
End With
wksKBB_CRM.Cells(lz1 + 1, 3).PasteSpecial xlpasteall

Gruß Daniel

Anzeige
AW: Fehler 1004
21.09.2015 16:53:47
Peter
Hallo Zusammen,
vielen Dank für Eure Antworten.
Diese Version funktioniert.
With wksKBB_Ub
.Range(.Cells(10 + i, 3), .Cells(10 + i, ls)).Copy
End With
.Cells(lz1 + 1, 3).PasteSpecial xlPasteAll
Liebe Grüße,
Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige