Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

makro aus makro aufrufen

Forumthread: makro aus makro aufrufen

makro aus makro aufrufen
18.06.2002 11:11:31
rahel
kann mir jemand sagen, ob es möglich ist, aus einem makro, welches ich einem button zugewiesen habe, ein anderes makro, welches in einem modul gespeichert ist, aufzurufen?
ist es möglich über das erste makro des buttons die range-eigenschaft zu benutzen?
Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: makro aus makro aufrufen
18.06.2002 11:16:46
Timo
Hallo Rahel.

Zu deiner ersten Frage: Ja, es ist möglich. Nehmen wir an du möchtest das Makro "Ausführen" im Modul "Start" aufrufen. Dazu verwende folgende Syntax

Den zweiten Teil deiner Frage habe ich jetzt nicht verstanden. Welche Rangeeigenschaft soll verwendet werden?

Gruss
Timo

Anzeige
Re: makro aus makro aufrufen
18.06.2002 11:16:54
Otto Ecker
Hallo Rahel,

Sub ersterMakro()
zweiterMakro
end sub

sub zweiterMakro()
msgbox "irgendwas"
end sub

Gruß Otto

Re: makro aus makro aufrufen
18.06.2002 11:33:58
rahel
also erstmal vielen dank an otto und timo.
zu meiner zweiten frage:
an den stellen, an welchen ich in dem makro welches dem button zugewiesen ist, die range-eigenschaft verwendet habe, erscheint eine fehlermeldung: die select-methode des range objektes konnte nicht ausgeführt werden.
das sieht in etwa so aus:
Workbooks.Open (dName)
Application.Goto Reference:="Tabelle3"
Selection.Copy
Windows("Evaluation.xls").Activate
Sheets("Datenblattansicht").Select
ActiveSheet.Paste
Rows("6:6").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
Windows(dName).Activate
ActiveWindow.Close
ich möchte also eine zelle markieren, um einen bereich aus einer anderen datei an dieser stelle beginnend einzufügen.
gruss rahel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Makros in Excel effektiv aufrufen


Schritt-für-Schritt-Anleitung

Um ein Excel-Makro in einem anderen Makro aufzurufen, kannst du die folgende Syntax verwenden:

  1. Öffne den VBA-Editor (Alt + F11).

  2. Erstelle ein neues Modul oder öffne ein bestehendes Modul.

  3. Schreibe dein erstes Makro, welches du einem Button zuweist. Hier ein Beispiel:

    Sub ersterMakro()
       zweiterMakro
    End Sub
  4. Erstelle das zweite Makro im selben Modul:

    Sub zweiterMakro()
       MsgBox "Das zweite Makro wurde aufgerufen!"
    End Sub
  5. Weise das erste Makro einem Button in deinem Excel-Blatt zu, um es auszuführen.

Mit dieser Methode kannst du problemlos ein Excel-Makro in ein anderes Makro aufrufen und so komplexe Automatisierungen erstellen.


Häufige Fehler und Lösungen

Beim Arbeiten mit VBA kann es zu verschiedenen Fehlern kommen. Ein häufiger Fehler ist die Verwendung der Select-Methode bei der Range-Eigenschaft. Wenn du folgende Fehlermeldung erhältst:

„Die Select-Methode des Range-Objektes konnte nicht ausgeführt werden“

überprüfe, ob du die gewünschte Zelle oder den Bereich korrekt referenzierst. Statt Selection.Copy kannst du direkt auf den Bereich zugreifen:

Workbooks.Open (dName)
Worksheets("Tabelle3").Range("A1").Copy

Alternative Methoden

Es gibt verschiedene Möglichkeiten, VBA-Makros zu starten:

  • Direktes Aufrufen eines Makros: Du kannst ein Makro auch direkt über die Makro-Dialogbox (Alt + F8) starten.
  • Tastenkombinationen verwenden: Weise einem Makro eine Tastenkombination zu, um es schnell zu starten.
  • Ereignisgesteuerte Makros: Du kannst Makros so programmieren, dass sie bei bestimmten Ereignissen wie dem Öffnen einer Datei oder dem Ändern einer Zelle automatisch ausgeführt werden.

Praktische Beispiele

Hier sind einige praktische Beispiele für das Aufrufen von Makros:

  1. Ein einfaches Makro, das eine Nachricht anzeigt:

    Sub NachrichtAnzeigen()
       MsgBox "Hallo, dies ist ein einfaches Makro!"
    End Sub
  2. Ein Makro, das einen Bereich kopiert und in ein anderes Arbeitsblatt einfügt:

    Sub BereichKopieren()
       Worksheets("Datenblatt").Range("A1:B10").Copy
       Worksheets("Zielblatt").Range("A1").PasteSpecial
       Application.CutCopyMode = False
    End Sub

Du kannst diese Makros in einem anderen Makro aufrufen, um komplexe Aufgaben zu automatisieren.


Tipps für Profis

  • Verwende Option Explicit: Dies zwingt dich, alle Variablen zu deklarieren, was Fehler vermeidet.
  • Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen, um unerwartete Probleme elegant zu lösen.
  • Modularität: Halte deine Makros modular, indem du häufig verwendete Funktionen in separate Module packst. So kannst du sie einfach wiederverwenden.

FAQ: Häufige Fragen

1. Kann ich ein Makro aus einem anderen Workbook aufrufen?
Ja, du kannst ein Makro aus einem anderen Workbook aufrufen, indem du den Workbook- und Modulnamen angibst, z.B.:

Workbooks("AnderesWorkbook.xlsm").Application.Run "Modulname.Makroname"

2. Wie kann ich die Leistung meiner Makros verbessern?
Vermeide häufige Bildschirmaktualisierungen und setze Application.ScreenUpdating = False am Anfang deines Makros. Setze es am Ende wieder auf True.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige