Zum Inhalt springen

EXCEL VBA - übergabe an Makros


b16a2

Empfohlene Beiträge

Hallo,

folgendes Problem.

Hab in Excel ein geschriebenes Programm, welches nach dem Starten ein Tabelle erstellt und sie mit berechneten Werten fühlt.

Ich würde gerne in der Erstellten Tabelle ein Button drine haben, mit dem ich dann z.B. gewissen Spalten/Zeilen ausblenden kann. Wie dort ein Button erzeugt wird und wie die Funktion zum ausblenden der Spalten/Zeilen (beim automatischem erstellen der Mappe) aussehen soll, ist ja kein Thema. Mein Problem ist, wie realisiere ich das diesem Button auch die nötige Funktion übergeben wird. Das die erstellte Mappe dann eigene Makros besitzt?

Gruß b16a2

Link zu diesem Kommentar
Auf anderen Seiten teilen

geh in den eigenschaften des buttons > makro zuweisen; dort findest du alle für die arbeitsmappe sichtbaren makros. wenn du noch keines hast, klickst du dort auf die schaltfläche aufzeichnen und schreibst dir eines (d.h. dort kommt der code zum ausblenden der zeilen rein).

s'Amstel

aber ich habe ja noch kein Button, er wird erst mit dem erstellen der mappe erzeugt und dem erstelltem button soll dann ein makro übergeben werden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

ne ihr versteht mich da etwas falsch. es soll eine Mappe erstellt werden.

Ich versuche es etwas anders zu umschreiben.

Ich habe ein paar Tabellen (Excel) in der für die Technische Berechnung Werte stehen. Mit einem button "Start" wird eine Oberfläche gestarten, in der es gewisse Einstellungen gibt. Tut hier aber nichts zu sache, bis jetzt. Jetzt wird die Technische Berechnung gestarten und dabei wird automatisch eine Mappe erstellt in der die Ergebnisse abgelegt werden. Es sind sehr viel werte, die für einiege Benutzer wichtig und für die anderem wiederum nicht wichtig sind.

Deshalb möchte ich das beim erstellen der Mappe ein Button erzeugt wird, der gewisse Zeilen/Spalten (Ergebnisse) ausblendet, damit die automatisch erstellte Mappe überschaubar ist.

Mein Problem ist jetzt nicht, wie ich ein Button erzeuge beim erstellen der Mappe, sondern wie ich dem Button beim automatischem erzeugen der Mappe ein Makro zuweise/übergebe.

Link zu diesem Kommentar
Auf anderen Seiten teilen

so sieht es aus, wenn ich ein checkbox erstellen will

ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=False, _

DisplayAsIcon:=False, Left:=7.32203389830508, Top:=1.22033898305085, _

Width:=10.3728813559322, Height:=9.76271186440678).Select

Bearbeitet von b16a2
Link zu diesem Kommentar
Auf anderen Seiten teilen

du kannst natürlich auch mit VBA einen button erstellen:

ActiveSheet.Buttons.Add(200, 180, 80, 40).Select

Selection.OnAction = "DeinMakro"

damit erstellst du dir an den angegebenen x/y-koordinaten einen button in der gewünschten grösse der "DeinMakro" startet.

s'Amstel

mal ne andere Frage "Dein Makro" was muss ich dafür genau einsetzen? einfach das ganze Makro, also code?

Link zu diesem Kommentar
Auf anderen Seiten teilen

ne ihr versteht mich da etwas falsch. es soll eine Mappe erstellt werden.

dann versuch es so zu erklären, dass die information klarer rüberkommt, was du genau machen willst. aus deinen ersten beiden postings wurde ich nur zum teil schlau.

so sieht es aus, wenn ich ein checkbox erstellen will

der grundtenor sollte sein, dass du auf zweierlei weg steuerelemente (buttons, checkboxen, etc.) erstellen kannst:

- via steuerelement-toolbox

- via formular-toolbox

beide unterscheiden sich grundsätzlich eben dadurch, dass erstere OLE-controls der forms-bibliothek erstellt und zweitere "echte" excel-controls.

wenn du im gegensatz zu einem OLE-control ein excel-control erstellst, kannst du dieser schaltfläche anschliessend sofort (es geht ein dialog auf) ein makro zuweisen.

entweder hast du zu dem zeitpunkt schon eines, dann wählst du das aus der liste aus; oder du klickst auf bearbeiten und schreibst es dir.

Mein Problem ist jetzt nicht, wie ich ein Button erzeuge beim erstellen der Mappe, sondern wie ich dem Button beim automatischem erzeugen der Mappe ein Makro zuweise/übergebe.

das habe ich ja bereits ein post zuvor geschrieben: erstell ein schaltflächen-control aus der formular-toolbar, dann weis über den makro-dialog der schaltfläche das makro zu.

einfach das ganze Makro, also code?

makros sind immer code (genauer: prozeduren und funktionen); anders als in form von VBA-code können makros garnicht existieren.

zur besseren veranschaulichung solltest du dir meinen screenshot ansehen.

s'Amstel

post-27078-14430448387733_thumb.gif

Link zu diesem Kommentar
Auf anderen Seiten teilen

Meine Frage ist jetzt auch, ob ich ein Makro ansprechen kann aus einem anderem Project?

ja, gib die mappe, gefolgt von einem rufzeichen und dem makronamen an:

Selection.OnAction = "DeineAndereMappe[B][COLOR="Red"]![/COLOR][/B]DeinMakroInderAnderenMappe"

die mappe muss IMO aber dazu geöffnet sein; ob makros aus der "persönlichen arbeitsmappe" auch aufrufbar sind, weiss ich nicht.

s'Amstel

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...