MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 14.05.2018, 10:17   #1
Officer-DA
Neuer Benutzer
Neuer Benutzer
Standard VBA - Auswahl von 2 Makros abhängig von einem Wert in einer Zelle

Hallo,

ich benötige eure Hilfe.
In einer Tabelle habe ich zwei Makros.
Wenn nun in einer bestimmten Zelle (z.B. A2 den Wert (entweder 2 oder 3) über ein Dropdown geändert wird, möchte ich über eine Schaltfläche eins der beiden Makros ausführen.
Also wenn in A2 der Wert 2 steht wird Makro 1 ausgeführt
und wenn in A2 der Wert 3 steht wird Makro 2 ausgeführt.

Danke im Voraus.
Ralf
Officer-DA ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.05.2018, 10:29   #2
Werner.M
MOF User
MOF User
Standard

Hallo Ralf,

das geht auch ohne eine zusätzliche Schaltfläche - Automatisch sobald der Wert in A2 entsprechend geändert wird.

Das Makro gehört ins Codemodul des Tabellenblattes, auf dem er sich auswirken soll.
-Rechtsklick auf den Tabellenblattreiter - Code anzeigen - Code rechts ins Codefenster kopieren

Voraussetzung, dein Makro 1 und Makro 2 sind Prozeduren, die in einem allegemeinen Modul stehen.

PHP-Code:

Private Sub Worksheet_Change(ByVal Target As Range)
If 
Target.Address(00) = "A1" Then
    Select 
Case Target.Value
        
Case 1
            Call Name_der_Prozedur1
        
Case 2
            Call Name_der_Prozedur2
    End Select
End 
If
End Sub 
Gruß Werner
Werner.M ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.05.2018, 10:39   #3
Officer-DA
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo Werner,

danke für die schnelle Rückmeldung.
Wie sieht der Quell-code aus, denn das Makro soll nicht bei Änderung der Zellwertes sondern erst später durch den Button gestartet werden.
Mit dem Dropdown wird ein Bearbeitungsmodus zw. Deutsch und Englisch umgeschaltet und mit den Makros wird der Druck bestimmter Registerkarten gestartet und als PDF-Datei im gleichen Pfad abgelegt.

Kann die Abfrage nicht direkt in das selbe Modul vorweg gestellt werden, in dem auch die beiden Makros stehen?

Noch eine Ergänzung, die Abfrage der Zelle A2 steht zusätzlich auf einer gesonderten Registerkarte.

Geändert von Officer-DA (14.05.2018 um 10:42 Uhr).
Officer-DA ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.05.2018, 11:29   #4
Werner.M
MOF User
MOF User
Standard

Hallo Ralf,

der Code muss ins Codemodul der Schaltfläche.
PHP-Code:

Select Case Range("A2").Value
    
Case 1
        Call Name_deiner_Prozedur_1
    
Case 2
        Call Name_deiner_Prozedur_2
End Select 
Gruß Werner
Werner.M ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.05.2018, 11:54   #5
Officer-DA
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo Werner,
soweit o.k., aber leider noch nicht ganz meiner Vorstellung.
Wie kann die Ausführung des Makros starten ohne es als Zwischenstep auszuwählen.
Also nicht als 'Call' sondern ...?

Der Druck als PDF-Datei startet automatisch nach dem Klick auf den Button (als CommandButton, korrekt?) und führt entweder das Makro 1 aus bei vorhandenen Wert 2 in A2 oder das Makro 2 bei vorhandenen Wert 3 in A2.

Evtl. so:

Private Sub CommandButton2_Click()

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "A1" Then
Select Case Range("A2").Value
Case 1
Call Bericht_Drucken_pdf
Case 2
Call Bericht_Drucken_pdf_EN
End Select
End If
End Sub

oder bitte richtig korrigieren, danke.
Grüße Ralf
Officer-DA ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.05.2018, 13:13   #6
Werner.M
MOF User
MOF User
Standard

Hallo Ralf,

also ehrlich gesagt blicke ich so langsam nicht mehr durch, was du eigentlich möchtetst.

-Klick auf einen Button
-Zelle A2 auf ihren Wert prüfen
-Wenn Wert in A2=2 dann Makro 1
-wenn Wert in A2=3 dann Makro 2

PHP-Code:

Private Sub CommandButton2_Click()
Select Case Range("A2").Value
     
Case 2
          Call Bericht_Drucken_pdf
     
Case 3
          Call Bericht_Drucken_pdf_EN
End Select
End Sub 
Ansonsten noch was: Du hast eine Datei, wohl mit zwei Makros. Sowohl die Datei als auch die Makros hast du bisher aber hier nicht eingestellt.
Wenn du an deinem Auto Sommerreifen montieren lassen willst, bringst du dann auch nur den Autoschlüssel in die Werkstatt?

Gruß Werner
Werner.M ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.05.2018, 19:51   #7
Officer-DA
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo Werner,
danke für deine Hilfe.
Als Ergebnis kann ich leider keinen abschliessenden Erfolg verzeichnen.

Sorry, die Datei kann ich hier leider nicht einstellen.
Die beiden Makros zum Drucken folgen hier:

Sub Bericht_Drucken_pdf()
'
' Drucken_pdf Makro
'
'
Sheets(Array("Tabelle1", "Tabelle2", "Tabelle3", "Tabelle4", _
"Tabelle5", "Tabelle6", "Tabelle7", "Tabelle8")). _
Select
Sheets("Deckblatt").Activate
dateiname = InputBox("Bitte 'Datum' und 'Ort' ersetzen, Dateiname bleibt unverändert!", "PDF-Datei", "Datum Bericht zum Audit Ort")
If dateiname = "" Then Exit Sub
pdfName = ActiveWorkbook.Path & "" & dateiname & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfName, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
Sheets("Tabelle1").Select
Range("o66").Select
End Sub

Sub Bericht_Drucken_pdf_EN()
'
' Drucken_pdf Makro
'
'
Sheets(Array("Tabelle10", "Tabelle11", "Tabelle12", _
"Tabelle13", "Tabelle14", "Tabelle15", _
"Tabelle16", "Tabbele17")).Select
Sheets("Cover sheet").Activate
dateiname = InputBox("Please 'Date' und 'Location' replase, File name remains unchanged!", "PDF-File", "Date Report to Audit Location")
If dateiname = "" Then Exit Sub
pdfName = ActiveWorkbook.Path & "" & dateiname & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfName, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
Sheets("Tabelle10").Select
Range("o66").Select
End Sub


Ich hoffe das hilft weiter.
PS: die Sommerreifen sind eingelagert...
Officer-DA ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.05.2018, 05:08   #8
EarlFred
MOF Guru
MOF Guru
Standard

„Als Ergebnis kann ich leider keinen abschliessenden Erfolg verzeichnen.“
„Ich hoffe das hilft weiter.“
Nein.

An Hilfe wurde alles notwendige zur Lösung gegeben. Woran es konkret scheitert, musst du genauer erläutern.

„PS: die Sommerreifen sind eingelagert...“
D. h., du fährst noch mit Winterreifen?

__________________

Datum und Uhrzeit, Makrorekorder-Code entschlacken, {Matrixformeln}
Tutorials zu Pivottabellen: Kurzeinstieg; Dynamischer Datenbereich; Daten und Zeiten gruppieren
Für 5 meiner Beiträge haben sich die Hilfesuchenden mit einer Spende an Wikipedia, die Tafeln oder Hilfe für krebskranke Kinder eV bedankt (das entspricht 0,037% per 04.04.2018) - eine tolle Geste!

Geändert von EarlFred (15.05.2018 um 05:11 Uhr).
EarlFred ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.05.2018, 19:14   #9
Officer-DA
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

ok, danke, konnte den Fehler finden. Hatte sich eine falsche Bezugszelle für "A2" eingeschlichen.
Danke für eure Unterstützung.
Officer-DA ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:11 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.