Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1268to1272
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

Makro von anderem Tabellenblatt starten

Makro von anderem Tabellenblatt starten
anderem
Hallo zusammen,
ich bin als Laie wieder mal mit meinem Latein am Ende.
Ich habe in einem Tabellenblatt X mehrere Makros aufgezeichnet (Änderung der Textfarbe; Entfernen von Rahmenlinien usw.).
Nun habe ich im Taballenblatt Y mehrere Optionsfelder (Formular) eingefügt. Mit diesen Optionsfeldern möchte ich nun das jeweilige Ausführen der Makros in Tabellenblatt X starten.

Ich habe dem jeweiligen Optionsfeld einfach das entsprechende Makro zugewiesen und unter "Makros in: Alle offenen Arbeitsmappen". ausgewählt.
Dies funktioniert jedoch nicht wie gewünscht, denn Excel versucht das Makro im gleichen Tabellenblatt (Y) und nicht im gewünschten (X) auszuführen.
Wenn ich testweise die Optionsfelder im selben Tabellenblatt, in dem ich die Makros aufgezeichnet habe, einfüge, funktioniert alles einwandfrei.
Was mache ich falsch, bzw. wie bringe ich Excel dazu, es wie gewünscht durchzuführen?
Nette Grüße, Simon
PS: Makros aufzeichnen und ausführen bekomme ich so gerade noch hin, wenn es richtig ins VBA-Projekt geht, bin ich überfordert ;-)
AW: Makro von anderem Tabellenblatt starten
28.06.2012 14:21:14
anderem
Hallo,
du muss auf das richtige Blatt referenzieren. Also z.B. anstatt ActiveSheet.Range(...) Sheets("X").Range(...)
Zeig mal deinen Code.
Gruß
Rudi
AW: Makro von anderem Tabellenblatt starten
28.06.2012 14:21:35
anderem
in den seltensten Fällen genügt ein aufgezeichnetes Makro den Anforderungen.
Bitte poste doch die Datei, und versuche genau und vollständig zu beschreiben was passieren soll.
(Dabei "Frage noch offen" setzen)
Gruß, Günther
AW: Makro von anderem Tabellenblatt starten
28.06.2012 14:58:44
anderem
Also so sieht mein Code aus...
Sub E1weg()
' E1weg Makro
' Makro am 28.06.2012 von Simon aufgezeichnet
Range("D12:E12").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
ActiveSheet.Shapes("Picture 63").Select
With Selection
.Placement = xlMove
.PrintObject = False
End With
Range("A1:F13").Select
Selection.Font.ColorIndex = 2
End Sub

Beim "Debuggen" wird ActiveSheet.Shapes("Picture63").Select gelb markiert.
Ich denke aber nicht, dass es nur daran liegt...
Anzeige
AW: Makro von anderem Tabellenblatt starten
28.06.2012 15:46:58
anderem
Also
entfernen der Rahmen im Bereich D12:E12
Bild63 Formatieren dass es nicht gedruckt wird
A1:F13 mit Farbe 2 ausfüllen
Das Bild existiert im anderen Blatt bestimmt nicht als "Picture63"
vieviele Bilder hast Du pro Blatt?
Gruß,
Günther
AW: Makro von anderem Tabellenblatt starten
28.06.2012 16:08:21
anderem
Genau.
Ich habe in dem besagten Tabellenblatt insgesamt 21 Bilder. Habe diese aber mehrmals gelöscht, wieder eingefügt usw. - vielleicht kommt deswegen die Zahl zu Stande!?!?
Wenn ich das Bild anklicke, erscheint im Fenster li. neben der Formel-Eingabe auch der Name Bild 63
AW: Makro von anderem Tabellenblatt starten
29.06.2012 12:43:58
anderem
Hallo,
ungetestet:
Sub E1weg()
With Sheets("X")  'anpassen
With .Range("D12:E12")
.Borders(xlDiagonalDown).LineStyle = xlNone
.Borders(xlDiagonalUp).LineStyle = xlNone
.Borders(xlEdgeLeft).LineStyle = xlNone
.Borders(xlEdgeTop).LineStyle = xlNone
.Borders(xlEdgeBottom).LineStyle = xlNone
.Borders(xlEdgeRight).LineStyle = xlNone
.Borders(xlInsideVertical).LineStyle = xlNone
.Borders(xlInsideHorizontal).LineStyle = xlNone
End With
With .Shapes("Picture 63")
.Placement = xlMove
.PrintObject = False
End With
.Range("A1:F13").Font.ColorIndex = 2
End With
End Sub

Gruß
Rudi
Anzeige
AW: Makro von anderem Tabellenblatt starten
02.07.2012 21:10:04
anderem
Hallo,
ich bitte die verspätete Antwort zu entschuldigen.
Leider bin ich mit den Vorschlägen nicht weiter gekommen.
Wenn ich Rudi's letzten Vorschlag umsetze, kommt beim Ausführen des Makros die Fehlermeldung: "Fehler beim Kompilieren: Mehrdeutiger Name: E1weg"
.......?
AW: Makro von anderem Tabellenblatt starten
03.07.2012 08:04:45
anderem
Hallo Heinrichs,
Die Fehlermeldung hast Du zwar gepostet, aber hast Du sie auch gelesen?
Ein möglicher Weg, um diese Fehlermeldung zu erzeugen, wäre Rudi's Code einfach an den vorhandenen anzuhängen, denn Deine Sub heisst ja schon so.
Sorge dafür, dass es nur eine "E1weg" gibt
Gruß,
Günther
Anzeige
AW: Makro von anderem Tabellenblatt starten
03.07.2012 20:49:37
anderem
Mein Problem ist halt, dass ich nicht wirkich Ahnung von VBA habe.
Ich habe die verschiedensten Lösungsvorschläge, so gut es ging, versucht umzusetzen - leider immer noch ohne Erfolg.
Es kann doch eigentlich nicht SO schwer sein ein Makro aus einem anderen Tabellenblatt zu starten !? :-(
AW: Makro von anderem Tabellenblatt starten
03.07.2012 20:52:33
anderem
warum setzt Du die gemachten Vorschläge nicht um?

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige