Makro aus einem anderen Arbeitsblatt aufrufen
#1
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.


Angehängte Dateien Thumbnail(s)
       
Top
#2
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
Top
#3
(13.01.2021, 10: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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#4
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.


Angehängte Dateien Thumbnail(s)
   
Top
#5
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
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#6
Danke! Mein Hauptproblem ist damit zwar nicht gelöst aber es macht die Sache deutlich simpler.
Top
#7
Hallo,

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


Angehängte Dateien
.xlsm   Makro_per_Schaltfläche.xlsm (Größe: 19,6 KB / Downloads: 9)
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#8
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
Top
#9
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.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste