Anzeige
Archiv - Navigation
1696to1700
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

Code funktioniert nicht ohne .Activate

Code funktioniert nicht ohne .Activate
18.06.2019 13:08:12
Doro
Hallo liebe Excel Experten,
eigentlich steht im Betreff schon meine ganze Frage ;-)
Ich möchte aus Worksheets(AuswTabName(1)) Spalte A bis E kopieren und in Worksheets(AuswTabName(2)) bis Worksheets(AuswTabName(6)) einfügen. Hier der entsprechende Auszug aus meinem Code:
With .Worksheets(AuswTabName(1))
.Activate
.Range(Columns(1), Columns(5)).Copy
End With
For i = 2 To AnzAusw
.Worksheets(AuswTabName(i)).Columns(1).PasteSpecial (xlPasteValuesAndNumberFormats)
Next i
Application.CutCopyMode = False
Ich würde gerne die ersten vier Zeilen durch
.Worksheets(AuswTabName(1)).Range(Columns(1), Columns(5)).Copy
(Ich mag .Activate nicht). Dann bekomme ich entweder einen Laufzeitfehler (438?), oder Excel stürzt direkt komplett ab. Kann das jemand lösen / erklären? Würde das sooo gerne verstehen!
Vielen Dank im Voraus :-)
Doro

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code funktioniert nicht ohne .Activate
18.06.2019 13:12:26
Torsten
Hallo,
so:

Worksheets(AuswTabName(1)).Range(Columns(1), Columns(5)).Copy
For i = 2 To AnzAusw
.Worksheets(AuswTabName(i)).Columns(1).PasteSpecial (xlPasteValuesAndNumberFormats)
Next i
Application.CutCopyMode = False

AW: Code funktioniert nicht ohne .Activate
18.06.2019 13:44:22
Daniel
Wo ist jetzt die Änderung? Das ist doch genau das, was Doro versucht hatte.
Ich kenne das Problem auch. Geht sogar so weit, dass ein Code im Verlauf der Entwicklung immer prima funktioniert hat, irgendwann aber dieses Verhalten an den Tag legte. Dann konnte ich mir auch nur noch mit .Activate behelfen. Du bist also nicht allein mit deinem Problem, ich kenne aber leider weder den Grund dafür noch eine bessere Lösung.
Grüße
Daniel
Anzeige
AW: Code funktioniert nicht ohne .Activate
18.06.2019 13:54:18
Doro
Hallo Daniel, hallo Thorsten,
danke für die schnellen Antworten!
@Daniel: So hatte ich es probiert, klappt leider nicht.
@Thorsten: Ist aber gut zu wissen, dass man nicht alleine ist :-)
Weiß sonst jemand Rat?
Vielen Dank und viele Grüße,
Doro
AW: Code funktioniert nicht ohne .Activate
18.06.2019 14:03:57
Hajo_Zi
nur wenige schauen auf Deinen Rechner und sehen die Datei.
Ich möchte gerne den Fehler im Original sehen.
Ich baue keine Datei nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten anonymisieren bzw. pseudonymisieren.
Benutze hier im Forum die Funktion zum hochladen. Falls Du die nicht benutzen möchtest beachte, von unsicheren Servern wie z.B. www.file-upload.net lade ich keine Datei runter. (lt. Einschätzung meines Virenprogramms)
    With .Worksheets(AuswTabName(1))
.Range(Columns(1), Columns(5)).Copy
End With
For i = 2 To AnzAusw
.Worksheets(AuswTabName(i)).Columns(1).PasteSpecial (xlPasteValuesAndNumberFormats)
Next i
Application.CutCopyMode = False

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
Anzeige
blablabla
18.06.2019 14:33:54
Rudi
AW: Code funktioniert nicht ohne .Activate
18.06.2019 15:28:51
Doro
Hallo Hajo,
ich werde die DAtei anonymisieren, und lade sie dann hoch. Dauert aber ein bisschen...
Mal schauen, ob der Fehler dann noch auftritt.
Danke und viele Grüße,
Doro
AW: Code funktioniert nicht ohne .Activate
18.06.2019 14:36:11
Rudi
Hallo,
was steht den vor
With .Worksheets(AuswTabName(1))

Muss doch auch ein With sein.
Gruß
Rudi
AW: Code funktioniert nicht ohne .Activate
18.06.2019 15:26:54
Doro
Hallo Rudi,
da ich vorher zwischen 2 Dateien wechsele, steht da vorher: With Workbooks(TravelReportMaster)
Ich versuch mal, das ganze zu anonymisieren, und bin gespannt, ob der Fehler dann noch auftritt...
Danke schon einmal und viele Grüße,
Doro
Anzeige
AW: Code funktioniert nicht ohne .Activate
18.06.2019 15:41:04
Daniel
Hi
mal wieder der Standardfehler, den wohl jeder mal machen muss:
bei Range(Cells, Cells) muss man das Tabellenblatt vor die beiden Cells schreiben, nicht vor die Range.
(vor Range kann es stehen, muss aber nicht außer der Code steht in einem Tabellenblattmodul
Falsch: Worksheet().Range(Cells(), Cells())
Richtig: Range(Worksheet().Cells(), Worksheet().Cells())
wenn man das Worksheet sowieso schon in der WITH-Klammer hat reich ja der Punkt:
With .Worksheets(AuswTabName(1))
.Range(.Columns(1), .Columns(5)).Copy
hat man keine WITH-Klammer, wird der Code sehr lang:
Range(.Worksheets(AuswTabName(1)).Columns(1), .Worksheets(AuswTabName(1)).Columns(5)).Copy
man kann aber häufig auch alternative Refernzierungsmethoden anwenden, z.B. RESIZE
.Worksheets(AuswTabName(1)).Columns(1).Resize(, 5).Copy
Gruß Daniel
Anzeige
AW: Code funktioniert nicht ohne .Activate
18.06.2019 16:11:20
Doro
Hallo Daniel,
jetzt hatte ich schon fast die anonymisierte Datei fertig ;)
Jetzt funktioniert es, und ich hab es auch verstanden. Hilft vllt auch Daniel M. (der das Problem bei sich auch hatte).
Vielen Dank und viele Grüße,
Doro
AW: Code funktioniert nicht ohne .Activate
18.06.2019 16:12:32
Daniel
Stimmt, guter Hinweis. Die kleinen Punkte vergisst man schnell mal. Werde ich bei Gelegenheit mal checken!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige