Office: Prozedur ist zu groß

Helfe beim Thema Prozedur ist zu groß in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo ich habe ein Problem und zwar werden sehr viele Kombinationsfelder beim Öffnen eines Excel Workbook gefüllt. Diese führt jetzt zu einer zu großen... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von icjc99, 24. September 2024.

  1. icjc99 Neuer User

    Prozedur ist zu groß


    Hallo ich habe ein Problem und zwar werden sehr viele Kombinationsfelder beim Öffnen eines Excel Workbook gefüllt.
    Diese führt jetzt zu einer zu großen Prozedur.
    Hätte da jemand eine Lösung?

    Gruß Ingo
     
  2. d'r Bastler
    d'r Bastler Erfahrener User
    Moin Ingo

    habe mir eben mal Deinen Code angeschaut und ca. 15 Fragezeichen im Gesicht.Prozedur ist zu groß :confused:

    Ich sehe nur Mengen von Sheets gleichen Namens und andere böhmische Dörfer. Vielleicht beschreibst mal in einfachen Sätzen: wo Deine Daten herkommen und was mit ihnen geschehen soll. Dein Blätterwald ist mit großer Wahrscheinlich für die Verarbeitung unnötig. Eine übersichtliche Ausgabe ist dann der zweite Schritt.

    Schöne Grüße
     
    d'r Bastler, 24. September 2024
    #2
  3. OilMax hat Ahnung
    Hallo Ingo,

    für die Zuweisung der Spaltenzahl (.ColumnCount) und 2 spaltiges Füllen kann man dies in einer kleinen Schleife erschlagen.
    beispielhaft so:
    Code:
        Dim i&
        With Worksheets("01 Woche")
            For i = 1 To 40
                .OLEObjects("ComboBox" & i).Object.ColumnCount = 2  ' Spaltenzahl 2 setzen
                .OLEObjects("ComboBox" & i).Object.List = Sheets("Einstellungen").Range("A2:B" & .Cells(Rows.Count, 1).End(xlUp).Row)   ' Beide Spalten füllen
            Next i
        End With
    
    Den Rest kannst du dir nach diesem Prinzip dann selbst bauen.
    Solltest du damit nicht zurecht kommen, lade eine brauchbare Demodatei anonymisiert mit dem bisher vorhandenen Code hoch.

    Gruß Uwe
     
  4. HSV
    HSV hat Ahnung

    Prozedur ist zu groß

    Code:
    .Cells(Rows.Count, 1).End(xlUp).Row
    Diese Konstruktion bezieht sich so natürlich auf Worksheets("01 Woche“).
     
  5. OilMax hat Ahnung
    @HSV,

    stimmt, hatte da nicht aufgepasst.
    richtig ist die Zeile so:
    Code:
    .OLEObjects("ComboBox" & i).Object.List = Sheets("Einstellungen").Range("A2:B" & Sheets("Einstellungen").Cells(Rows.Count, 1).End(xlUp).Row)
    
    Gruß Uwe
     
    1 Person gefällt das.
  6. OilMax hat Ahnung
    ich habs mal zu Ende gebaut:
    Code:
    Private Sub Workbook_Open()
        Dim wks As Worksheet, i&, j&, arr()
        For Each wks In ThisWorkbook.Worksheets
            If InStr(1, wks.Name, "Woche", vbTextCompare) Then i = i + 1: ReDim Preserve arr(1 To i): arr(i) = wks.Name
        Next
        Set wks = ThisWorkbook.Sheets("Einstellungen")
        For i = 1 To UBound(arr)
            With Worksheets(arr(i))
                For j = 1 To 40
                    With .OLEObjects("ComboBox" & j).Object
                        .ColumnCount = 2  ' Spaltenzahl 2 setzen
                        .List = wks.Range("A2:B" & wks.Cells(Rows.Count, 1).End(xlUp).Row).Value   ' Beide Spalten füllen
                    End With
                Next j
            End With
        Next i
    End Sub
    
    Dieser Code arbeitet unter der Annahme, dass alle Tabellenblätter, welche im Namen "Woche" enthalten ist jeweils 40 ComboBoxen eingebaut sind. Die relevanten Blätter werden in ein Array eingelesen und in Schleife i abgeklappert. In Schleife j werden die Comboboxen befüllt.

    GHruß
     
  7. icjc99 Neuer User
    Hallo an dieser Stelle einen großen Dank an alle die mir bei dem Problem geholfen haben.
    Besonders an OilMax der Code läuft hervorragend, einfach genommen reinkopiert und funktioniert, top.
    Nochmal eine Dank an alle.
    Gruß Ingo
     
Thema:

Prozedur ist zu groß

Die Seite wird geladen...
  1. Prozedur ist zu groß - Similar Threads - Prozedur groß

  2. Prozeduren über eine globale Vorlage ausführen

    in Microsoft Word Hilfe
    Prozeduren über eine globale Vorlage ausführen: Hallo! Ich möchte gerne verschiedene Prozeduren in einer zentralen (globalen) Vorlage erstellen und auf diese Prozeduren bzw Funktionen mit jedem neuen Dokument insbesondere neuen Dokumenten, die...
  3. Prozedur zu groß

    in Microsoft Excel Hilfe
    Prozedur zu groß: Hallo Excelgemeinde, ich bekomme im VBA Editor die Fehlermeldung, dass die Prozedur zu groß sei. Weiß jemand, wie viele Zeichen dort maximal enthalten sein dürfen, dass der Editor nicht meckert?...
  4. Sub-Prozedur in der Schleife

    in Microsoft Access Hilfe
    Sub-Prozedur in der Schleife: Liebe Access-Profis, wieder mal weiß ich nicht weiter: Ich habe ein Formular, indem ich 41 Bezeichnungsfelder ('Bez0 – Bez40') und ebenso viele Textfelder ('txtRedSch0 – txtRedSch40')...
  5. Gespeicherte Prozedur Eigenschaftenseite (ADP)

    in Microsoft Access Tutorials
    Gespeicherte Prozedur Eigenschaftenseite (ADP): Gespeicherte Prozedur Eigenschaftenseite (ADP) Access 2010 Access 2007 Mehr... Weniger...
  6. Gespeicherte Prozedur Parameter Eigenschaftenseite (ADP)

    in Microsoft Access Tutorials
    Gespeicherte Prozedur Parameter Eigenschaftenseite (ADP): Gespeicherte Prozedur Parameter Eigenschaftenseite (ADP) Access 2010 Access 2007 Mehr... Weniger...
  7. VBA - Prozedur zu groß

    in Microsoft Excel Hilfe
    VBA - Prozedur zu groß: Hallo, ich erzeuge mit Hilfe von Excel via VBA eine XML-Datei. Diese ist leider sehr groß (über 330.000 Zeichen auf mehreren tausend Zeilen), weshalb ich die Prozedur auf 2 Prozeduren aufgeteilt...
  8. Probleme mit Prozeduren

    in Microsoft Excel Hilfe
    Probleme mit Prozeduren: Hallo, ich hab ein kleines Problem mit Prozeduren. Der Code führt die eingeschobene Prozedur nicht in der neu erstellten Mappe aus, sondern in der alten Ursprünglichen Mappe. Ich hoffe ihr...
Schlagworte:
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden