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

Excel bricht beim ausführen der Schleife zusammen

Excel bricht beim ausführen der Schleife zusammen
08.01.2008 22:01:00
Ralf
Hallo
Bei mir bricht Excel immer zusammen, wenn ich den Code mehr als einmal ausführen lasse. Allerdings funktioniert alles einwandfrei wenn er nur einmal durchläuft. Mit oder ohne Schleife, auch wenn er mehrmals gestartet wird.
Bei insertlines 3,6,9 ec kommt anschließend CommandButton_Click kann es leider nicht anders formatieren.

  • 
    Private Sub Schaltflächen()
    Dim I, X, StartMon, EndeMon, Abst As Integer
    Dim Bttn As String
    Dim modul As Object
    Dim Mon(1 To 12) As String
    Mon(1) = "Januar"
    Mon(2) = "Februar"
    Mon(3) = "März"
    Mon(4) = "April"
    Mon(5) = "Mai"
    Mon(6) = "Juni"
    Mon(7) = "Juli"
    Mon(8) = "August"
    Mon(9) = "September"
    Mon(10) = "Oktober"
    Mon(11) = "November"
    Mon(12) = "Dezember"
    StartMon = 2
    EndeMon = 12
    For I = StartMon To EndeMon
    Worksheets(Mon(I)).OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False _
    , DisplayAsIcon:=False, Left:=375, Top:=2, Width:=120, Height _
    :=22).Select
    Worksheets(Mon(I)).OLEObjects("CommandButton1").Object.Caption = "Alle Spalten einblenden"
    Worksheets(Mon(I)).OLEObjects("CommandButton1").Placement = xlFreeFloating
    Worksheets(Mon(I)).OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False _
    , DisplayAsIcon:=False, Left:=375, Top:=28, Width:=120, Height _
    :=22).Select
    Worksheets(Mon(I)).OLEObjects("CommandButton2").Object.Caption = "Alle Spalten ausblenden"
    Worksheets(Mon(I)).OLEObjects("CommandButton2").Placement = xlFreeFloating
    Abst = 144
    For X = 0 To 4
    Bttn = "CommandButton" & X + 3
    Worksheets(Mon(I)).OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False _
    , DisplayAsIcon:=False, Left:=375 + X * Abst, Top:=54, Width:=22, Height:=22). _
    Select
    Worksheets(Mon(I)).OLEObjects(Bttn).Object.Caption = "X"
    Worksheets(Mon(I)).OLEObjects(Bttn).Object.Font.Bold = True
    Worksheets(Mon(I)).OLEObjects(Bttn).Placement = xlMoveAndSize
    Next X
    Set modul = ThisWorkbook.VBProject.VBComponents.Item(Worksheets(Mon(I)).CodeName). _
    CodeModule
    modul.insertlines 3, "
    
    
    Private Sub CommandButton1_Click()"
    modul.insertlines 4, "spein"
    modul.insertlines 5, "End Sub
    

    "
    modul.insertlines 6, "

    
    Private Sub CommandButton2_Click()"
    modul.insertlines 7, "spaus"
    modul.insertlines 8, "End Sub
    

    "
    modul.insertlines 9, "

    
    Private Sub CommandButton3_Click()"
    modul.insertlines 10, "spkaus"
    modul.insertlines 11, "End Sub
    

    "
    modul.insertlines 12, "

    
    Private Sub CommandButton4_Click()"
    modul.insertlines 13, "spmaus"
    modul.insertlines 14, "End Sub
    

    "
    modul.insertlines 15, "

    
    Private Sub CommandButton5_Click()"
    modul.insertlines 16, "spoaus"
    modul.insertlines 17, "End Sub
    

    "
    modul.insertlines 18, "

    
    Private Sub CommandButton6_Click()"
    modul.insertlines 19, "spqaus"
    modul.insertlines 20, "End Sub
    

    "
    modul.insertlines 21, "

    
    Private Sub CommandButton7_Click()"
    modul.insertlines 22, "spsaus"
    modul.insertlines 23, "End Sub
    

    "
    Next I
    End Sub



  • Ich hoffe ihr könnt mir helfen.
    Mfg

    3
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Excel bricht beim ausführen der Schleife zusammen
    08.01.2008 22:21:00
    Daniel
    Hi
    du könntest die Beispieldatei hochladen, dass man es mal ausprobieren kann.
    ohne es ausprobieren zu können, würde ich mal pauschal sagen:
    Lass den Quatsch, Steuerelemente und Code per Programm zu erstellen.
    mach das selber und blende bei bedarf die Steuerelemente per VISIBLE-Eigenschaft ein- und aus.
    beim Erzeugen von Steuerlementen hast du das Problem, daß du nie genau weißt. wie dein nächstes Steuerelement heißen, weil das davon abhängt, wieviele du schon vorher erzeugt hast, falls der Name automatisch erzeugt wird, dh. beim 2. Druchlauf ist Commandbutton1 nicht mehr Commandbutton1 sondern Commandbutton3.
    Selbst wenn du das in den Griff bekommst, dann hast du immer noch das problem, daß du vor einem wiederholtem Lauf alles vorher erzeugte löschen müsstest, auch den Code.
    Wenn du also in mehreren Tabellenblättern Buttons hast, die den gleichen Code verwenden, dann nimm keine SteuerelementButtons, sondern Formularfelder.
    Denen kannst du aus dem Allgemeinen Modul ein Makro zuweisen, dieses Makro können auch mehrere Buttons verwenden.
    Also einfach FormularButtons auf einem Blatt erstellen, Makro zuweisen und dann die Buttons per CopyPaste auf die anderen Blätter kopieren und fertig.
    Code per Code erzeugen ist meistens keine gute Idee.
    Gruß, Daniel

    Anzeige
    AW: Excel bricht beim ausführen der Schleife zusammen
    10.01.2008 05:25:40
    Ralf
    Hallo Daniel
    danke für die schnelle Antwort.
    Da die Anzahl der Tabellenblätter variiert und beim erstellen des Codes noch nicht festliegt, hatte ich es auf diesem Wege probiert. Da ich Anfänger bin, sind mir noch nicht alle Möglichkeiten bekannt. Werde mich mal in Ruhe hinsetzen und mich mal mit den Formen bekannt machen. Aber wie es aussieht, habe ich auf der Suche nach den richtigen Schaltern die verkehrten erwischt.
    Bis die Tage
    Ralf

    AW: Excel bricht beim ausführen der Schleife zusammen
    10.01.2008 20:32:11
    Ralf
    Hallo
    Habe die Formularbuttons ausprobiert und was soll ich sagen: Es sind die Buttons die ich gesucht hatte und aus Mangel an Erfahrung bin ich bei den anderen gelandet. Die Commandbutton werden halt nur beim erstellen der Tabellenblätter einmal erstellt und dann nicht wieder angerührt. Das Problem war halt nur die Anzahl der Blätter steht erst kurz vorher fest deswegen wurden Blätter, Formeln und Buttons dynamisch erstellt.
    Lange Rede kurzer Sinn, es funktioniert jetzt alles einwandfrei und so wie ich es will.
    Danke für die Hilfe
    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige