Clever-Excel-Forum

Normale Version: Makro aus einem anderen Arbeitsblatt aufrufen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich bin noch recht neu zu Excel aber bringe mir durch Google und Youtube alles nötige bei. 
Jedoch habe ich noch keine Antwort darauf gefunden, ob und wie es möglich ist ein Button, für die Makro "Aktivierung", auf einem anderen Arbeitsblatt zu haben als auf dem auf dem das Makro laufen soll.

Beispiel:
Arbeitsblatt 1 ist für die Datenaufnahme zuständig die dann weiter verarbeitet wird und das Button soll da sein, um es leichter machen für den Benutzer.
Arbeitsblatt 2 ist da wo das Makro benutzt wird und die Daten "verarbeitet werden" (abgespeichert/Mittelwert o.ä. ausgerechnet).

Gibt es einen allgemeinen Trick, wie ich es machen kann oder müsste ich das Makro aufnehmen, den Code hier reinsenden und dann müsste man überlegen wie man es Problemspezifisch löst?

Vielen Dank für eure Hilfe!

(Ich bin wie gesagt noch ein Anfänger und werde Code bzw Excelspezifische Sprache wahrscheinlich nicht so einfach verstehen.)

Edit: Bilder sind eine Vereinfachung von dem was ich gerne hätte.
Hallo,

in der Überschrift werden "Workbooks", im Text "Worksheets" angesprochen.

Es wäre einfacher hier eine kleine Beispieldatei zu zeigen, als einen eher allgemeinen Code zu posten.

mfg
(13.01.2021, 09:36)PureBeginner schrieb: [ -> ]Gibt es einen allgemeinen Trick

Moin!
Man könnte natürlich exakt nach dem Betreff dieses Threads suchen …
(und dann bei Unklarheiten konkret nachfragen)
… und Fennek hat mit seiner Nachfrage natürlich Recht.

Gruß Ralf
Danke für die Anmerkungen. Habe es korrigiert.

Hier der Code des Makro:

Sub Abspeichern()
'
' Abspeichern Makro
'

'
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("B14:Q18").Select
    Range("Q18").Activate
    Selection.Copy
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 7
    ActiveWindow.ScrollColumn = 8
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 10
    ActiveWindow.ScrollColumn = 11
    ActiveWindow.ScrollColumn = 12
    ActiveWindow.ScrollColumn = 13
    ActiveWindow.ScrollColumn = 14
    Range("S22").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub

Würde das Button gerne in "Auswertung Eingabe" haben und das Makro dann in "Datenablage" ausführen.
Hallo,

wenn du dich ernsthaft mit Makros beschäftigen willst, solltest du nicht auf den Makrorekorder setzen.

Hier das, was du von deinem aufgezeichneten Makro wirklich brauchst. (Die Zellbezüge habe ich aus deinen Bildern übernommen):

 
Code:
Sub Abspeichern()
    Range("G10:G14") = Range("A1:A5").Value
End Sub
Danke! Mein Hauptproblem ist damit zwar nicht gelöst aber es macht die Sache deutlich simpler.
Hallo,

das Hauptproblem ist die Schaltfläche? Dann hättest du aber noch einen langen Weg vor dir.
Hallo,

ich habe versucht, dass was du gemacht hast zu kopieren auf meine Arbeitsmappe aber es funktioniert nicht. 
Ist das überhaupt möglich? Oder wie gehe ich am besten vor?


mfg
Hallo,

das geht schon, wenn man weiß wie. Du musst in deiner Datei eine ActveX-Schaltfläche einfügen. Dort klickst du mit der rechten Maustaste drauf. Es öffnet sich ein Kontextmenü, dort wählst du den Punkt "Code anzeigen" aus. Danach öffnet sich das Modul vom Tabellenblatt, da ist dann das Rumpfmakro der Schaltfläche zu sehen. Da fügst du den Quelltext aus meinem Beispiel ein.