Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1848to1852
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
Inhaltsverzeichnis

Erneutes Starten über Button nicht mgl.

Erneutes Starten über Button nicht mgl.
23.09.2021 08:30:16
Markus
Hallo ihr lieben,
ich habe mal eine Frage, bei der sich die Profis sicherlich wieder an den Kopf greifen, aber ich habe dazu nirgends etwas gefunden. Ich habe ein einfaches Makro, was Blätter mit fortlaufenden Nummern druckt. Das Makro wird durch klicken eines Buttons ausgeführt. Ist das Makro durchgelaufen und ich ändere die Zahlen, kann ich es nicht erneut ausführen, nur indem ich in die Entwicklungsumgebung gehe und über "Play" starte. Könnt ihr mir bitte sagen, woran das liegt?
Vielen lieben Dank.

Private Sub Drucken_Click()
Dim zahl1 As Integer
Dim zahl2 As Integer
Dim monat As String
Dim i As Integer
zahl1 = Cells(2, 4).Value
zahl2 = Cells(2, 5).Value
monat = Cells(1, 4).Value
Select Case monat
Case "Januar"
Cells(3, 2).Value = "'01"
Cells(7, 2).Value = "'01"
Case "Februar"
Cells(3, 2).Value = "'02"
Cells(7, 2).Value = "'02"
Case "März"
Cells(3, 2).Value = "'03"
Cells(7, 2).Value = "'03"
Case "April"
Cells(3, 2).Value = "'04"
Cells(7, 2).Value = "'04"
Case "Mai"
Cells(3, 2).Value = "'05"
Cells(7, 2).Value = "'05"
Case "Juni"
Cells(3, 2).Value = "'06"
Cells(7, 2).Value = "'06"
Case "Juli"
Cells(3, 2).Value = "'07"
Cells(7, 2).Value = "'07"
Case "August"
Cells(3, 2).Value = "'08"
Cells(7, 2).Value = "'08"
Case "September"
Cells(3, 2).Value = "'09"
Cells(7, 2).Value = "'09"
Case "Oktober"
Cells(3, 2).Value = "'10"
Cells(7, 2).Value = "'10"
Case "November"
Cells(3, 2).Value = "'11"
Cells(7, 2).Value = "'11"
Case "Dezember"
Cells(3, 2).Value = "'12"
Cells(7, 2).Value = "'12"
End Select
For i = zahl1 To zahl2
If i  9 And i  99 And i 

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Erneutes Starten über Button nicht mgl.
23.09.2021 09:07:29
Oberschlumpf
Hi Markus,
kannst du bitte mal eine Bsp-Datei mit Bsp-Daten und dem Code per Upload zeigen?
Ich könnte deinen jetzigen Code auch optimieren, wenn du willst - z Bsp der Bereich Select Case... könnte mit viel weniger Zeilen per For/Next erledigt werden.
Ciao
Thorsten
Code gekürzt
23.09.2021 10:06:03
Rudi
Hallo,
das reicht:

Private Sub Drucken_Click()
Dim zahl1 As Integer
Dim zahl2 As Integer
Dim monat As String
Dim i As Integer
zahl1 = Cells(2, 4).Value
zahl2 = Cells(2, 5).Value
monat = Cells(1, 4).Value
Cells(3, 2).Value = "'" & Format(CDate("1." & monat), "MM")
Cells(7, 2).Value = "'" & Format(CDate("1." & monat), "MM")
For i = zahl1 To zahl2
Cells(4, 2) = "'" & Format(i, "0000")
ActiveSheet.PrintOut
Next i
End Sub
Gruß
Rudi
Anzeige
vergessen hast du...
23.09.2021 10:14:56
Oberschlumpf
Moin,

Cells(8, 2) = "'" & Format(i, "0000")
aber sonst passts ;-)
Ciao
Thorsten
stimmt! ;-) owT
23.09.2021 10:16:45
Rudi
AW: stimmt! ;-) owT
23.09.2021 11:03:12
Markus
Hallo ihr beiden,
das sieht an sich schon sehr nett aus. Danke dafür. Das mit dem Format wäre eine gute IDee. Das mit den Monaten kann ich so nicht einfach nehmen, weil sich der Bediener den Monat aussuchen soll. Das dient zum Beispiel dafür, dass für einen beliebigen Monat Karten gedruckt werden.
Nun sehe ich aber keine anderen Dinge in euren Code, dass ihr zum Beispiel irgendetwas zurück setzt oder sonstiges. Deshalb bleibt weiter die Frage wie folgt. Führe ich den Code einmalig aus, funktioniert er. Drückt man dann erneut auf den Button, passiert nichts. Würde man die Datei schließen und wieder öffnen, funktioniert es wieder 1x.
Woran liegt das?
LG
Anzeige
AW: stimmt! ;-) owT
23.09.2021 11:37:39
Oberschlumpf
Hi,
hast du dir den Code von Rudi nur angesehen, oder auch - ausprobiert?!
Ich glaub, du hast nur geguckt aber nich angefasst^^
Ich hab Rudi's Code ausprobiert - und der funktioniert genau wie dein Code, is halt nur kürzer.
Ohne Probiern hätt ich ja nicht gesehen, dass Rudi was vergessen hatte.
Und was für ein Problem hast du mit den Monaten?
z Bsp die Zeile

Cells(3, 2).Value = "'" & Format(CDate("1." & monat), "MM")
verwendet doch die Variable monat, die vorher von mir mit einem der Monatsnamen gefüllt wurde.
Nach Änderung des Monats durch Anwender erhält auch deine Variable monat wieder einen anderen Wert, der durch den Format-Befehl nur wieder in die von dir gewünschte Zahl umgewandelt wird.
Also...haste den Code auch getestet?
Ciao
Thorsten
Anzeige
AW: stimmt! ;-) owT
23.09.2021 11:42:25
Rudi
Hallo,

Das mit den Monaten kann ich so nicht einfach nehmen, weil sich der Bediener den Monat aussuchen soll.
Kann er doch weiterhin.
Bei mir funktioniert alles.
AW: stimmt! ;-) owT
23.09.2021 11:49:26
Markus
Nein ich habe es noch nicht getestet, weil die Umschreibung zwar schön ist aber meine Frage damit ja noch nicht beantwortet war. Aber ja ihr habt natürlich Recht, das habe ich übersehen.
AW: stimmt! ;-) owT
23.09.2021 13:20:54
Daniel
HI
der Button funktioniert bei mir auch bei wiederholtem Klick.
um den Button zu deaktivieren müsste eines der folgenden Dinge passieren:
a) du aktivierst den Entwurfsmodul (ist ein Button in den Entwicklertools)
b) die Events werden ausgeschaltet mit dem Befehl Application.EnableEvents = False
c) der Button wird mit Drucken.Enabled = False deaktiviert (aber das siehst du an der Formatierung des Buttons)
Enthält deine Originaldatei noch mehr Code als das was du hochgeladen hast? Wenn ja, müsstest du diesen mal auf b) oder c) durchsuchen, vielleicht gibts ja noch ein Change-Event im Blatt.
wenn du da nichts findest, hilft vielleicht folgender Workaround:
- Schreibe das Makro als ein normales Makro (Public Sub Drucken()) in ein allgemeines Modul (Modul 1)
- Erstelle einen Button aus der Gruppe der Formularfeldsteuerelemente (gleiches Menü, obere Zeile) und weise diesem Button dann das Makro zu.
Formulafeldsteuerelemente sind etwas weniger kapriziös als ihre ActiveX-Kollegen.
Gruß Daniel
Anzeige
AW: stimmt! ;-) owT
24.09.2021 07:33:57
Markus
Hallo Daniel,
das ist die Originaldatei gewesen. Ich hatte gestern das Problem mit dem Laufzeitfehler, das auch nur aufgetreten ist, weil das Makro nicht in einem Modul geschrieben wurde. Ich werde das mal probieren. Alles andere sollte eigentlich nicht der Fall sein, zumindest habe ich diesbezüglich nichts programmiert.
Danke dir. LG Markus
AW: somit thread aber auch nicht mehr offen owT
25.09.2021 08:49:00
neopa
Gruß Werner
.. , - ...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige