Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1892to1896
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
Button mit Makroauswahl
28.07.2022 12:07:09
Ronny
Hallo zusammen,
ich habe 4 Makros die Dateien aufrufen per Klick.
Aktuell klicke ich auf 4 Button und jeweils öffnet sich die Datei.
Gibt es eine Möglichkeit auf einen Button zu klicken und dann auszuwählen welche der 4 Makros ausgeführt werden soll.
Über

Sub ...
Call ...
Call ...
usw
End Sub
Kann man ja alle ausführen jedoch würde ich gern vorher sagen können welche ich brauche.
Mit freundlichen Grüßen
Ronny

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Button mit Makroauswahl
28.07.2022 12:27:24
Heli
Hi,
ich mache sowas über ein Dropdown + Button - im Dropdown wählst Du die Aktion (Datei) aus, über den Button wird dann das entsprechende Makro gestartet.
Könnte man auch direkt über eine ComboBox machen, da ist meine Erfahrung aber dass ein Anwender auch mal was falsches anklickt und daher das zugehörige Makro nicht sofort nach Auswahl loslaufen soll sondern bewusst gestartet wird.
Viele Grüße, Heli
AW: Button mit Makroauswahl
28.07.2022 12:36:09
Ronny
Hm da kann ich dir nicht ganz folgen wie du das meinst.
Ich habe auf jeden Fall ca 50 Datensätze. zu denen jeweils 4 Worddateien je nach bedarf geöffnet werden sollen.
Dies wollte ich halt versuchen das ich die 4 makros für jeden Datensatz fertig mache und dann per Klick auswähle welche der 4 Dateien geöffnet werden sollen.
Vielleicht kannst du mir deine Variante nochmal erklären.
LG
Anzeige
AW: Button mit Makroauswahl
28.07.2022 12:44:04
Heli
Hi,
na da habe ich das vielleicht auch falsch Verstanden - meine Idee war für einen Einzelfall mit mehreren (vier) Varianten gedacht.
Kannst Du mal eine Beispieldatei hochladen damit der Sachverhalt klarer wird? Sonst müssen wir Beide jeweils weiter rätseln...
Und beschreibe den Prozess mal komplett:
- Anwender wählt aus den 50 Datensätzen aus
- danach wird ein Makro ausgeführt
- hier gibt es vier verschiedene Wege die gewählt werden müssen
- ...
Sowas in der Art.
VG, Heli
AW: Button mit Makroauswahl
28.07.2022 17:41:22
Daniel
Hi
naja, man sollte schon genauer wissen, was du machst. auch so ist das alles noch ziemlich vage und nicht geeignet für eine konkrete Lösung.
momentan schein für mich noch die sauberste Lösung zu sein, das du eine weitere Spalte einfügst.
dort legst du für dann eine Datenüberprüfung mit Liste an und bietest hier die 4 möglichen Dateinamen zur Auswahl an.
so kannst du für jeden Datensatz zuerst auswählen, welche Datei verwendet werden soll und startest dann das Makro, welchen den Wert aus der jeweiligen Zelle ausliest und verwendet.
Gruß Daniel
Anzeige
AW: Button mit Makroauswahl
29.07.2022 07:44:13
Ronny
Sry das ich mich jetzt erst melde ich hatte schon Feierabend gestern.
Userbild
Ich hoffe der Screenshot reicht für meine Erklärung aus sonst mache ich dann nochmal eine Beispielmappe.
Links stehen Namen und rechts die Button sind jeweils mit einer Word Datei verknüpft. für jeden Namen gibt es die 4 Word Dateien.
Aktuell klicke ich halt auf den jeweiligen Button, die Datei öffnet sich und kann bearbeitet werden. Also gibt es für jeden Button eine eigenen Sub.
Jetzt hatte ich überlegt nur einen button zu machen, dort würde ich dann auswählen wollen welche der 4 Dateien überhaupt geöffnet werden soll.
Ist jetzt kein riesen Unterschied aber würde gern wissen ob dies überhaupt funktioniert.
LG Ronny
Anzeige
AW: Button mit Makroauswahl
29.07.2022 09:06:04
Heli
Hi,
also für mich reicht das leider nicht um konkret helfen zu können, da sind viele Fragen offen
- sind die Dateien alle gleich?
- gibt es eine Namenslogik nach der man vorgehen kann?
- willst Du nur eine Abfrage im Makro welche der Dateien geöffnet werden soll (dann musst Du das aber auch verwalten)?
Stell' doch bitte mal eine Beispielmappe ein, dann kommen wir sicher zu einer guten Lösung.
Viele Grüße, Heli
AW: Button mit Makroauswahl
29.07.2022 09:34:02
Ronny
ok ich habe dann mal eine Beispieldatei vorbereitet
https://www.herber.de/bbs/user/154419.xlsm
Habe auch mal die Makros schon mal eingestellt bei name 1 und 2
LG Ronny
Anzeige
AW: Button mit Makroauswahl
29.07.2022 09:44:13
Daniel
Hi
das macht man besser ohne Button.
erstelle für das Blatt im Modul des Blattes das BeforeDouble_Klick-Event.
das wird ausgelöst, wenn du einen Doppelklick auf die Zelle machst.
Target ist die Zelle, die angeklickt wurde.
mit Target.Row bekommst du die Zeilennummer dieser Zelle
mit Target.Column die Spaltennummer
Intersect(Target.EntireColumn, Rows(9)) gibt dir den Namen der Worddatei aus der Zeile 9
Intersect(Target.EntireRow, columns(13)) gibt dir den Namen aus Spalte M.
mit If Not Intersect(Target, Range("O11:R60")) is nothing kannst du prüfen, ob der Doppelkllick im relevanten Zellbereich stattgefunden hat.
außerdem solltest du den Befehl Cancel = True einmal ausführen, damit die normale Doppelklickaktion (aktiviereung der direkten Zellbearbeitung) nicht ausgeführt wird.
damit solltest du die Aufgabe lösen können, ohne für jeden Namen und für jede Worddatei einen Button zu erstellen.
Gruß Daniel
Anzeige
AW: Button mit Makroauswahl
29.07.2022 11:01:19
Ronny
Danke dir schon einmal. Aber die Dateien heißen nicht so wie die Überschriften in Zeile 9. Die heißen komplett anders hatte das nur der einfachhalber schnell so gemacht.
Ist das dabei egal?
Wollte ja auch Button Sparen und deshalb war die Idee vorn nur einen Button für den Namen zu machen, dieser ruft (wenn das geht) eine Checkbox auf und dort wähle ich dann die einzelne der 4 Dateien aus oder alle und dann öffnen sich die Dateien.
Oder eine Userform, welche die Namenslist aufruft und je nachdem welcher Name gewählt ist kann ich Checkboxen mit den Dateien machen'?
Ist dies technisch überhaupt möglich?
Oder ist das alles zu kompliziert und ich mache einfach für jeden 4 Button und Sub zur jeweiligen Datei?
LG und danke schon einmal
Anzeige
AW: Button mit Makroauswahl
29.07.2022 11:22:08
Ronny
Hinzukommt vielleicht noch erschwerend, dass die Dateien alle in verschiedenen Ordnern liegen und ich bei deiner variante nicht sehe wo ich den Dateipfad überhaupt anlege
AW: Button mit Makroauswahl
29.07.2022 11:34:34
Daniel
Hi
es gibt doch viele möglichkeiten.
du kannst den Pfad und Dateinamen doch in einer anderen Zeile hinterlegen und dort abfragen.
oder du kannst das in der Programmierung hinterlegen, dass wenn Spalte x geklickt wird, wird diese datei genommen und wenn Spalte y geklickt wird, wird eine andere Datei genommen.
also

if Target.Column = 14 Then Datei = "C\.....\Datei1"
elseif Target.Column = 15  then Datei = "C:\...\Datei2" 
usw halt
jetzt im Makro so eine Abfrage zu machen ("Welche Datei soll verwendet werden") ist etwas aufwendiger.
entweder kannst du dir einen Text eingeben lassen (Inputbox) oder wenn du eine Auswahl willst, müsstest du eine Useform erstellen.
Das wird dann etwas aufwendiger.
Gruß Daniel
Anzeige
AW: Button mit Makroauswahl
29.07.2022 12:26:17
Ronny
Das klingt echt gut.
Da meine Kenntnisse in VBA doch noch recht bescheiden sind könntest du mit vielleicht die Sub für 2 Dateien und 2 Namen mal zeigen? Erweitern würde ich sie mir dann selber auf den Rest.
Ich danke dir für die Hilfe.
AW: Button mit Makroauswahl
29.07.2022 12:47:57
Daniel
HI
wenn du die korrekten Dateinamen in die Zellen schreibst, am einfachsten so, das kann ja auch eine andere Zeile sein, wenn der echte Dateiname zu lang für die Exceltabelle ist.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Dateiname As String
Dim WordApp As Object
If Not Intersect(Target, Range("O11:R60")) Is Nothing Then
Dateiname = "C:\"
Dateiname = Dateiname & Intersect(Target.EntireColumn, Rows(9)).Value
Dateiname = Dateiname & " " & Intersect(Target.EntireRow, Columns(13)).Value
Set WordApp = CreateObject("Word.Application")
With WordApp
.Visible = True
.Documents.Open Filename:=Dateiname
End With
Cancel = True
End If
End Sub
wenn du in der Tabelle selbst keine echten Dateinamen hinterlegen willst:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Dateiname As String
Dim WordApp As Object
If Not Intersect(Target, Range("O11:R60")) Is Nothing Then
Dateiname = "C:\"
Select Case Target.Column
Case 14: Dateiname = Dateiname & "Datei 1"
Case 15: Dateiname = Dateiname & "Datei 2"
Case 16: Dateiname = Dateiname & "Datei 3"
Case 17: Dateiname = Dateiname & "Datei 4"
end Select
Dateiname = Dateiname & " " & Intersect(Target.EntireRow, Columns(13)).Value
Set WordApp = CreateObject("Word.Application")
With WordApp
.Visible = True
.Documents.Open Filename:=Dateiname
End With
Cancel = True
End If
End Sub
Gruß Daniel
Anzeige
AW: Button mit Makroauswahl
29.07.2022 12:52:16
Ronny
Ich danke dir. Ich werde das morgen Früh mal ausprobieren. Mache dann jetzt erstmal Feierabend.
Vielen dank und schönes Wochenende.
AW: Button mit Makroauswahl
29.07.2022 13:01:15
Daniel
warum?
mach das doch jetzt fertig.
das ist nicht dein Job. Teilnahme am Forum (sei es als Fragesteller oder Helfer) ist immer Freizeit, da gibt es keinen Feierabend.
AW: Button mit Makroauswahl
29.07.2022 13:52:05
Ronny
Weil ich nur auf der Arbeit den Zugriff auf die Datei habe. Deshalb kann ich das erst morgen früh machen.
LG
AW: Button mit Makroauswahl
30.07.2022 13:03:26
RK
Vielen Dank für den Code. Der klappt wunderbar.
Danke dir für die Mühe.

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige