Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
768to772
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
768to772
768to772
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Commandbutton soll Dateiübergreifend funktionieren

Commandbutton soll Dateiübergreifend funktionieren
07.06.2006 08:49:10
Anton
Hallo Leute,
Ich habe mir eine wunderschöne Folge von Makros geschrieben.
Die kann ich nacheinander über die "Visual basic"-Leiste starten.
Ich möchte es bequemer haben....
Ein Knopf, der so wie nachfolgender Commandbutton funktioniert aber als Knopf in der Menü-Leist sitzt.
Diesen Knopf möchte ich auch meinen Kollegen zur Verfügung stellen.
Hier mein Commandbutton:

Private Sub CommandButton1_Click()
Call a_Anfang
Call a_LeereSpaltenLöschen
Call b_ÜberschriftSichern
Call c_LeereZeilenLöschen
Call d_ZeileWegWennZelleLeer
Call e_ZeileWegWennZelleAgent
Call f_SummenEntfernen
Call g_Namenstrennung
Call h_Autofill
Call i_WerteFixieren
Call j_PivotErstellen
End Sub

Wer kann mir bitte helfen?
Mein Dank geht schon jetzt in Eure Richtung.
Servus,
Anton

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Commandbutton soll Dateiübergreifend funktioni
07.06.2006 09:29:18
Hoffi
Hallo Anton,
ich würde es auf die einfachste Art lösen, und zwar so:
Anstelle des Command Button, schreibe die Aufrufe in ein neues Makro im Modul, erstelle über Ansicht-Symbolleiste-Anpassen einen Button in der Menüleiste und weise diesem das neue Makro zu.
Fertig.
Bsp. fürs neue Makro

Private Sub Aufrufe()
Call a_Anfang
Call a_LeereSpaltenLöschen
Call b_ÜberschriftSichern
Call c_LeereZeilenLöschen
Call d_ZeileWegWennZelleLeer
Call e_ZeileWegWennZelleAgent
Call f_SummenEntfernen
Call g_Namenstrennung
Call h_Autofill
Call i_WerteFixieren
Call j_PivotErstellen
End Sub

Grüße
Hoffi
P.S. Rückmeldung wäre nett..
Anzeige
AW: Commandbutton soll Dateiübergreifend funktioni
07.06.2006 10:04:44
Anton
Hallo Hoffi,
Hallo Leute,
die Idee mit der geänderten Symbolleiste finde ich toll.
Wenn es nur für mich wäre, würde ich mein Problem als gelöst ansehen.
Aber wie kann ich diese geänderte Leiste an meine Kollegen
(die nur wenig PC-Kenntnisse haben) weitergeben?
Ist es möglich ein Makro zu schreiben, das die Änderungen bei denen durchführt?
(ich schicke denen meine Datei per mail, und die starten das 'Installationsmakro')
Meinen Dank an Hoffi für seinen Vorschlag.
Servus, Anton
AW: Commandbutton soll Dateiübergreifend funktioni
07.06.2006 10:46:26
Hoffi
Hallo Anton,
auch das ist Möglich. Ich würde dann Deine Mappe einfach als Add-Inn zur Verfügung stellen.
in diesem Add-Inn, fügst Du dann folgendes rein:
ins Modul 'Diese Arbeitsmappe'

Private Sub Workbook_Open()
Call Menue_ein
End Sub

in ein Modul:
Sub Menue_ein()
Call Menue_aus
With Application.CommandBars("Worksheet Menu Bar").Controls.Add(Type:= _
msoControlButton, ID:=2950, Before:=11)
.Caption = "Dein Makro Name" 'Name anpassen
.OnAction = "Aufrufe" 'Makroname anpassen
End With
End Sub
Sub Menue_aus()
Application.CommandBars("Worksheet Menu Bar").Controls("Dein Makro Name").Delete
End Sub
dann Deine ganzen anderen Module, wo auch unter anderem das Haupt Makro drinn ist:

Private Sub Aufrufe()
Call a_Anfang
Call a_LeereSpaltenLöschen
Call b_ÜberschriftSichern
Call c_LeereZeilenLöschen
Call d_ZeileWegWennZelleLeer
Call e_ZeileWegWennZelleAgent
Call f_SummenEntfernen
Call g_Namenstrennung
Call h_Autofill
Call i_WerteFixieren
Call j_PivotErstellen
End Sub

beim start von Excel (wenn das Add-inn eingefügt wurde) wird in der MenüLeiste vor dem Hilfe Button(Fragezeichen) ein Button generiert (Smiley) der benannt ist (Dein Makro Name). drückt man darauf, wird das Makro Aufrufe ausgeführt...
Vor Erstellen des Buttons wird der alte Button erst gelöscht (sonst hättest Du irgendwann 1000 Buttons darin)
Wie das mit dem Add-Inn geht weißt Du?
Das ist meiner Meinung nach die beste und sauberste Lösung.
Kannst ja zusätzlich das Projekt im VBA Editor mit einem Passwort vor unbefugtem Zugang schützen, ist zwar kein hundertprozentiger Schutz, aber wenn Du sagst das deine Kollegen nicht soviel Kenntnisse haben, sollte es reichen.
Grüße
Hoffi
Anzeige
AW: Commandbutton soll Dateiübergreifend funktioni
07.06.2006 11:19:38
Anton
Hallo Hoffi,
Dein Vorschlag mit dem ADDin ist weltklasse.
Leider kenne ich mich mit ADDins garnicht aus.
Wenn Du mir da noch weiterhelfen könntest ist das Megaspitze.
Den Knopf manuell in die Makro-Leiste zu intergrieren war leicht.
Das mit dem ADDin werde ich mir ausdrucken und mal versuchen nachzuvollziehen.
Wie gesagt wenn Du mir das mit den ADDins beibringen kannst, bin ich Dir Extrem dankbar.
Servus,
Anton
AW: Commandbutton soll Dateiübergreifend funktioni
07.06.2006 12:18:48
Hoffi
Hallo Anton,
das ist eigentlich keine große Sache.
Wenn Du dann auf 'Diese Arbeitsmappe' klickst (im VBA Editor), dann siehst Du unten links im Eigenschaftsfenster, die Eigenschaften von 'Diese Arbeitsmappe'.
Dort gibt es einen Punkt, der nennt sich 'IsAddInn' den Punkt setzt Du auf True.
Nun speicherst Du die Mappe als Add-Inn, (unten als Auswahl vorhanden). Fertig...
Da bei einem Add-Inn meist keine Tabellenblätter mehr sichtbar sind, können die Anwender natürlich Deine Makro´s nicht ausführen und die Werte in den Tabellen nicht sehen..
Ich würde dann hingehen, und im Aufruf Makro den Punkt IsAddInn auf False setzten
ThisWorkbook.IsAddInn = False
Danach sind alle Tabellenblätter sichtbar und die Leute können darin Arbeiten...
Dann würde ich im Aufruf Makro (nach abarbeiten aller Makro´s den Leuten den Hinweis geben, das die Mappe gespeichert werden muss (unter anderem Namen am besten) und nach dem speichern den Punkt IsAddInn wieder auf True setzen. d.h. bei Klick auf den Button, wird die Mappe angezeigt und nach dem speichern wieder ausgeblendet.
die andere Möglichkeit wäre, Deine Mappe nach Klick auf den Button öffnen zu lassen und im Workbook_open Ereignis Deiner Mappe dann alle Makro´s zu starten.
ist vielleicht die elegantere Möglichkeit... Also brauchst Du nur ein AddInn, welches den Button generiert und fügst dort ein Makro ein:

Sub Aufruf()
Dim wb as Workbooks
wb.Open "C:\Test.xls"
End Sub

Falls Du noch Fragen hast, kannst Du mir auch ne E-Mail schreiben. michael.hoffmann@veoliawater.com
sitze nicht immer an dem Rechner hier...
Grüße
Hoffi
Anzeige
exakt so ist es... es funktioniert
07.06.2006 13:22:46
Anton
Hallo Hoffi,
gaaanz herzlichen Dank!
Auf den Auto-Start habe ich verzichtet.
Bei der Erst-Installation des Knopfes gibt es eine Fehlermeldung.
Also habe ich das "Call Menue_aus" auskommentiert.
Wenn der Knopf dann mal da ist, kann man beobachten dass es funktioniert.
Ich werde noch schauen wie ich den 'Installations-Knopf'
auf der Tabelle nach der "Installation" verschwinden lassen kann.
Also Dir nochmals heißen Dank.
Servus,
Anton
exakt so ist es... es funktioniert
07.06.2006 13:23:18
Anton
Hallo Hoffi,
gaaanz herzlichen Dank!
Auf den Auto-Start habe ich verzichtet.
Bei der Erst-Installation des Knopfes gibt es eine Fehlermeldung.
Also habe ich das "Call Menue_aus" auskommentiert.
Wenn der Knopf dann mal da ist, kann man beobachten dass es funktioniert.
Ich werde noch schauen wie ich den 'Installations-Knopf'
auf der Tabelle nach der "Installation" verschwinden lassen kann.
Also Dir nochmals heißen Dank.
Servus,
Anton
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige