Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1820to1824
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
CommandButton mit 2 Makros
28.03.2021 09:37:43
oraculix
Hallo
Ich möchte gerne meine Datenbank sortieren mit 1 CommandButton11 von A-Z und Z-A
Die Makros zum sortieren von A-Z und Z-A habe ich.
Sub SortiereTitelAZ() Sub SortierenTitelZA()
Damit ich mir einen CommandButton in der Userform sparen kann würde ich gerne beide Makros mit einem CommandButton ausführen. Also einmal klick sortiere A-Z weitererer klick sortiere Z-A weiterer klick A-Z usw.
Frage: Geht das Überhaupt oder ist das mit Vba nicht möglich?

23
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CommandButton mit 2 Makros
28.03.2021 09:40:14
Hajo_Zi
benutze eine Variable BoSort
If Bosort then
' sortieruna A-z
BoSirt=False
Else
' sortieruna Z-A
BoSirt=True
Endif
Bild
Homepage

AW: CommandButton mit 2 Makros
28.03.2021 09:59:11
oraculix
Danke für deine Hilfe.
Bin froh das es einen Ansatz gibt nur irgendwas läuft es schief. Es tut sich nichts auch keine Fehlermeldung
Was ist Falsch im Code?
Private Sub CommandButton11_Click()
Dim BoSort
Dim BoSirt
If BoSort Then
Call SortiereOriginaltitelAZ
BoSirt = False
Else
Call SortierenOriginaltitelZA
BoSirt = True
End If
End Sub


Anzeige
AW: CommandButton mit 2 Makros
28.03.2021 10:03:14
Hajo_Zi
Dim muß in Zeile 2 nach
Option Explicit
Gruß Hajo

AW: CommandButton mit 2 Makros
28.03.2021 10:09:34
oraculix
Genau wie vorhehr tut sich nichts?
Option Explicit
Dim BoSort
Dim BoSirt
Private Sub CommandButton11_Click()
If BoSort Then
Call SortiereOriginaltitelAZ
BoSirt = False
Else
Call SortierenOriginaltitelZA
BoSirt = True
End If
End Sub


AW: CommandButton mit 2 Makros
28.03.2021 10:26:59
Daniel
Hi
naja, da ist noch ein Tippfehler drin.
"BoSirt" gibt es nicht, das sollte auch "BoSort" sein. "BoSirt" muss nicht deklariert werden.
du kannst dir die Variable auch sparen, in dem du einen ToggleButtons verwendest.
dieser Hat ja zwei Zustände, die man abfragen kann.
If ToggleButton1.Value = True then
code aufsteigend sortieren
Else
code für absteigend sortieren
End if
beachte, dass es nach einem Neu Öffnen der Userform zu Abweichungen kommen kann oder man beim ersten mal 2x auf den Button klicken muss um die gewünschte Sortierung zu bekommen, weil nach einem Neustart die Variable bzw der Button einen Standardwert haben, die u.U nicht zur vorliegenden Sortierung passt.
sofern das Sortierkriterium eindeutig ist (also nur einmal vorkommt), könntest du dir statt der Variablen einfach zwei Werte aus zwei unterschiedlichen Zeilen der Liste nehmen und miteinander vergleichen um die aktuell vorliegende Sortierung zu ermitteln und dann die gegenteilige Sortierung anzuwenden.
bei unsortierten Daten bekommst du dann ein zufälliges Ergebnis.
If Range("A2").Value 
Gruß Daniel

Anzeige
AW: CommandButton mit 2 Makros
28.03.2021 10:58:10
oraculix
Danke Daniel
Aber TogleButon kann ich nicht Verwenden . Wegen Überschrift
Das mit der Variable hab ich jetzt geändert tut sich auch nichts keine Fehlermeldung kein sortieren.
'Dim BoSort sollte hier nicht As Long Stehen?oder etwas anderes?
Option Explicit
Dim BoSort
Private Sub CommandButton11_Click()
If BoSort Then
Call SortiereOriginaltitelAZ
BoSort = False
Else
Call SortierenOriginaltitelZA
BoSort = True
End If
End Sub


AW: CommandButton mit 2 Makros
28.03.2021 11:09:05
Hajo_Zi
as Boolean da True und False
was sich auch schon aus dem Namen ergebnen solltew.
Gruß Hajo

Anzeige
AW: CommandButton mit 2 Makros
28.03.2021 12:29:49
Daniel
Hi oraculix
sorry, das verstehe ich nicht.
Warum "wegen der Überschrift"?
ein Togglebutton sieht genauso aus wie ein normaler Commandbutton.
Bezüglich der Überschrift gibt es keine Unterschiede zwischen beiden Buttonarten.
Wenn es also mit einem normalen Button funktioniert, dann sollte es auch mit einem ToggelButton funktionieren.
Gruß Daniel

AW: CommandButton mit 2 Makros
28.03.2021 12:56:44
oraculix
Ja sorry war Denkfehler von mir dachte TogleButton sind zwei Knöpfe wo man keinen Text eingeben kann.
Ich hab es eh versucht hilft alles nicht . Habe versucht nur den Call befehl aufzurufen nützt auch nichts.
Könnte irgendwie an der Userform Initilise oder Activat liegen

Anzeige
AW: CommandButton mit 2 Makros
28.03.2021 10:34:38
Hajo_Zi
Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.
Sollte die Datei verlinkt werden?
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
ändern.
Bilder lade ich mir nicht runter, da Excel damit nichts anfangen kann.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.
Falls Link nicht ausgeführt wird:
1. Link kopieren
2. rechte Maustaste neues Fenter.
3. Umschaltstaste drücken und Klick auf den Link
4. STRG+ Link mit Maus aktivieren
Gruß Hajo

Anzeige
AW: CommandButton mit 2 Makros
28.03.2021 11:19:06
oraculix
Danke Hajo
Aber es tut sich nichts habe das jetzt so hizugefügt
Option Explicit
Dim BoSort As Boolean
Private Sub CommandButton11_Click()
If BoSort Then
Call SortiereOriginaltitelAZ
BoSort = False
Else
Call SortierenOriginaltitelZA
BoSort = True
End If
End Sub


AW: CommandButton mit 2 Makros
28.03.2021 11:20:47
Hajo_Zi
ich bin dann raus, da meine Beiträge nicht komplett gelesen werden.
Das wird schon seinen Grund haben.
Ich schreibe nicht für den Papierkorn. Ich bin dann raus.
Viel Erfolg noch.
Gruß Hajo

Anzeige
AW: CommandButton mit 2 Makros
28.03.2021 11:22:01
Charly
Hi
Private Sub CommandButton11_Click()
Dim bolSort As Boolean
If bolSort Then
Call SortiereOriginaltitelAZ
bolSort = False
Else
Call SortierenOriginaltitelZA
bolSort = True
End If
End Sub
Gruß Charly

AW: CommandButton mit 2 Makros
28.03.2021 11:23:29
Hajo_Zi
Hallo Charly,
Guter Vorschlag BoSort ist immer False. Es ist kein If notwendig.
Gruß Hajo

AW: CommandButton mit 2 Makros
28.03.2021 11:33:15
oraculix
Danke
Aber es tut sich nichts kein Fehler kein Sortieren.

AW: CommandButton mit 2 Makros
28.03.2021 11:37:32
Charly
Hi
Sorry, Hajo hat recht.
Das war Quatsch.
Ich stelle auf offen
Gruß Charly

Anzeige
AW: CommandButton mit 2 Makros
28.03.2021 11:45:36
hary
Moin
Deine Variable(Dim bolSort As Boolean) ist fuechtig. D.h. nach ausfuehrung geht diese wieder in den Ursprung.
Deklarier die Variabele als Public(ausserhalb des Sub.
Option Explicit
Public bolSort As Boolean
Private Sub CommandButton1_Click()
If bolSort Then
MsgBox "SortiereOriginaltitelAZ"
bolSort = False
Else
MsgBox "SortierenOriginaltitelZA"
bolSort = True
End If
End Sub

gruss hary

AW: CommandButton mit 2 Makros
28.03.2021 12:18:59
Daniel
hi
die Variable bolSort muss beim nächsten Aufruf ja den Wert haben, der ihr bei der letzten Ausführung des Makros zugewiesen wurde.
Das funktioniert so nicht, weil so wie du hier die Variable angelegt hast (Dim bolSort innerhalb des Makros) diese Variable bei jedem Start des Makros zunächst einmal leer ist bzw mit False belegt ist (Leer = False bei boolean-Variablen) und die gemachte Zuweisung bei Makroende vergessen wird.
um das von dir gewünschte zu erreichen, darf der Inhalt der Variablen nicht vergessen werden, sondern er muss gespeichert werden.
Dazu gibt es zwei verschiedene Wege
a) Variable statisch anlegen, hierzu "Static" statt "Dim" verwenden:
 Private Sub CommandButton11_Click()
Static bolSort As Boolean
If bolSort Then
Call SortiereOriginaltitelAZ
bolSort = False
Else
Call SortierenOriginaltitelZA
bolSort = True
End If
End Sub

b) Variable als Modul- oder Projektweit gültige Variable anlegen (wurde schon gezeigt)
hierzu muss sie außerhalb des Makros deklariert werden (innerhalb des Makros darf sie dann nicht mehr deklariert werden)
Option Explicit
Dim bolSort As Boolean
Private Sub CommandButton11_Click()
If bolSort Then
Call SortiereOriginaltitelAZ
bolSort = False
Else
Call SortierenOriginaltitelZA
bolSort = True
End If
End Sub

bei Variante b) kann diese Variable auch von anderen Makros verwendet werden, falls dies benötigt wird.
Gruß Daniel

Anzeige
AW: CommandButton mit 2 Makros
28.03.2021 12:52:07
oraculix
Danke für die mühe
Habe versucht nur Comandbutton rein mit Call SortierenAZ geht auch nicht es muss irgendwie an der
Userform Initialise oder Userform Ativate liegen.

AW: CommandButton mit 2 Makros
28.03.2021 13:03:55
Daniel
dann hast du grundsätzlich was falsch gemacht und weißt u.U. nicht, wo du diese Codes platzieren musst.
du solltest mal die Datei hochladen.

Vielen Dank Daniel owt
28.03.2021 13:21:19
Charly

AW: CommandButton mit 2 Makros
28.03.2021 11:42:42
GerdL
Moin,
besser die Variable Static deklarieren.
Private Sub CommandButton11_Click()
Static bol As Boolean
bol = Not bol
If bol Then
Call SortiereOriginaltitelAZ
Else
Call SortierenOriginaltitelZA
End If
End Sub
Wenn sich deine beiden Makros nur durch die Sortierrichtung unterscheiden, kann man daraus bestimmt
ein einziges machen bzw. diesen Code gleich in den Button-Click-Code integrieren.
Aber dazu musst du sie zeigen.
Gruß Gerd

Anzeige
AW: CommandButton mit 2 Makros
28.03.2021 12:06:08
oraculix
Danke euch Allen ich gebe es auf mir raucht schon die Birne.
Es funktioniert nicht keine Reaktion innerhalb der Userform und kein Fehler.
Werde 2 ComandButtens Machen und gut ist.
Danke euch 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