Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1800to1804
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

.activate umgehen...

.activate umgehen...
17.12.2020 10:04:26
Tim
Hallo an alle,
ich möchte aktuell verschiedene Werte kopieren und in einer anderen Tabelle geordnet einfügen.
Dabei soll ein Makro diesen Aufwand übernehmen. Da meine Makro Kenntnisse noch sehr beschränkt _ sind komme ich nicht drum rum .activate und .select drin zu haben.

Cells(a, 2).Copy
Windows("Neusetzung.xlsx").Activate
Cells(w, 8).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("Bewerberverzeichnis.xlsm").Activate 

Nach einer Weile googlen kam ich zu folgenden Ausdruck:

Dim sWB As Workbook
Dim sWS As Worksheet
Dim zWB As Workbook
Dim zWS As Worksheet
Set sWB = Workbooks("Bewerberverzeichnis.xlsm")
Set sWS = sWB.ActiveSheet
Set zWB = Workbooks("Neusetzung.xlsx")
Set zWS = zWB.Worksheets("Tabelle1")
sWS.Cells(9, 2).Copy.Value
zWS.Cells(360, 1).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False

Hier gibt er mir bei sWS.Cells(9,2).Value den Laufzeitfehler 424 aus und ich weiß leider nicht woran es liegt. Die Lösung ist wahrscheinlich ziemlich einfach...
Bin über jede einzelne Hilfe dankbar!
VG
Tim

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: .activate umgehen...
17.12.2020 10:08:05
Hajo_Zi
Hall Tim,
ich konnte nicht sehen welche Tabelle Du aktivierst, was wohl daran liegt das ich nicht auf fremde Rechner schaue.
Cells(a, 2).Copy Workbooks("Neusetzung.xlsx").Worksheets("Tabelle1233").Cells(w, 8)

AW: .activate umgehen...
17.12.2020 10:31:42
Tim
Hallo Hajo,
erstmal vielen Dank für die Hilfe!
also bei der "Neusetzung.xlsx" ist es stumpf "Tabelle1", ist auch das einzige Tabellenblatt.
bei der "Bewerberverzeichnis.xlsm" ist es immer die vom User gerade bearbeitete Tabelle. Deshalb hatte ich im zweiten Code das .ActiveSheet drin.
Ich hab deinen Ausdruck mal für mich angepasst:
Workbooks("Bewerberverzeichnis.xlsm").ActiveSheet.Cells(10, 2).Copy
Workbooks("Neusetzung.xlsx").Worksheets("Tabelle1").Cells(360, 2).PasteSpecial Paste:=xlPasteValues
funktioniert super. Den Ansatz mit Dim As lass ich dann einfach sein.
Einmal bräuchte ich aber noch deine Hilfe. Vor meiner While Schleife werden 2 variablen definiert. Das sieht dann so aus:
Windows("Neusetzung.xlsx").Activate
w = WorksheetFunction.CountIf(Range("C1", "C800"), "*") + 6
d = WorksheetFunction.CountIf(Range("C1", "C800"), "*") + 6
Windows("Bewerberverzeichnis.xlsm").Activate
Also bevor er anfängt aus dem Bewerberverzeichnis raus zu kopieren soll er einmal in der Neusetzung zählen. Bekomme ich da auch das .activate raus?
VG
Tim
Anzeige
AW: .activate umgehen...
17.12.2020 10:33:38
Hajo_Zi
sehe ich es richtig ich habe für den Papierkorb geschrieben.
Ich bin dann raus.
Gruß Hajo
AW: .activate umgehen...
17.12.2020 10:44:55
Nepumuk
Hallo Tim,
so:
With Workbooks("Neusetzung.xlsx").ActiveSheet
    w = WorksheetFunction.CountIf(.Range("C1", "C800"), "*") + 6
    d = WorksheetFunction.CountIf(.Range("C1", "C800"), "*") + 6
End With

Gruß
Nepumuk
Anzeige
AW: Danke!
17.12.2020 10:51:31
Tim
Hallo Nepumuk,
damit hat sich dann auch meine Frage in der Antwort zu deiner ersten Antwort erledigt!
Ich danke für die Müh und Hilfe!
VG
Tim
AW: .activate umgehen...
17.12.2020 10:18:55
Nepumuk
Hallo Tim,
so:
sWS.Cells(9, 2).Copy
Gruß
Nepumuk
AW: .activate umgehen...
17.12.2020 10:49:35
Tim
Hallo Nepumuk,
ich werde mit jedem Tag schlauer... Danke für die Hilfe! Klappt auch genauso wie vorgestellt.
ein Problem hab ich da noch.
Ich will einmal in die andere Datei gehen um 2 variablen zu bestimmen. Das sieht dann so aus:
Windows("Neusetzung.xlsx").Activate
w = WorksheetFunction.CountIf(Range("C1", "C800"), "*") + 6
d = WorksheetFunction.CountIf(Range("C1", "C800"), "*") + 6
Windows("Bewerberverzeichnis.xlsm").Activate
Kann ich hier auch das .activate raus nehmen?
VG
Tim
Anzeige
AW: .activate umgehen...
17.12.2020 10:19:58
volti
Hallo,
wenn Du nur Werte übernehmen willst, sollte es auch so gehen:
zWS.Cells(360, 1).Value = sWS.Cells(9, 2).Value

AW: .activate umgehen...
17.12.2020 10:57:11
Tim
Hallo volti,
den Ansatz hatte ich im Internet auch gesehen und so wie es scheint habe ich die Syntax einfach falsch verstanden. Hatte es genau umgekehrt und wunderte mich warum Dinge verschwanden...
Bin auf jeden Fall schlauer geworden. Danke für die Hilfe!
VG
Tim
Anzeige
AW: .activate umgehen...
17.12.2020 11:04:47
volti
Hallo Tim,
schön, dass es etwas gebracht hat und danke für die Rückmeldung.
VG KH

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige