Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
384to388
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
384to388
384to388
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Activesheet über "DieseArbeitsmappe"

Activesheet über "DieseArbeitsmappe"
23.02.2004 16:39:52
Jan
Hallo,
1. ich möchte in einem Makro, dass sich in "DieseArbeitsmappe" befindet (zwecks Autoausführung), Einen Inhalt in ein neu erstelltes Sheet zu packen. also in etwa so:
Range(Cells(Merker1, 1), Cells(Merker2, 4)).Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
Das Problem: In einem "normalen" Makro funktioniert das. In "DieseArbeitsmappe" wird das ganze leider nicht in die neu erstellte Mappe kopiert, sondern in die Mappe, die das Makro enthält.
2. Kann man in einem Makro ein anderes Makro ausführen?
Schon mal vielen Dank für Eure Mühe,
ciao Jan

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Activesheet über "DieseArbeitsmappe"
23.02.2004 23:49:45
Dieter Klemke
Hallo Jan,
du brauchst eine klare Ansprache der Arbeitsmappen und Tabellenblätter. Das macht man am einfachsten über entsprechende Objektvariable. In deinem Fall könnte das in etwa so aussehen:

Sub Verarbeitung()
Dim Merker1 As Long
Dim Merker2 As Long
Dim wbD As Workbook ' D für DieseArbeitsmappe
Dim wbN As Workbook ' N Für neue Arbeitsmappe
Dim wsD As Worksheet
Dim wsN As Worksheet
Merker1 = 2
Merker2 = 3
Set wbD = ThisWorkbook
Set wsD = wbD.Worksheets(1)
Set wbN = Workbooks.Add
Set wsN = wbN.Worksheets(1)
wsD.Range(wsD.Cells(Merker1, 1), _
wsD.Cells(Merker2, 4)).Copy _
Destination:=wsN.Cells(5, 3)
wbN.SaveAs Filename:=wbD.Path & "\Neu.xls"
End Sub

MfG
Diter
Anzeige
AW: Activesheet über "DieseArbeitsmappe"
24.02.2004 00:00:58
Dieter Klemke
Hallo Jan,
ich habe in meiner Antwort die Erläuterung vergessen:
Wenn du dich im Code-Modul "DieseArbeitsmappe" auf das aktive Blatt der aktiven Arbeitsmappe beziehen willst, musst du anstelle von "ActiveSheet" schreiben "Application.ActiveSheet" (im Code-Modul ist nicht Application Default-Objekt, sondern die Arbeitsmappe, in der man sich befindet).
Zu deiner 2. Frage:
Du kannst in einem Makro ein anderes Makro aufrufen.
MfG
Dieter

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige