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

Zu langer Code

Zu langer Code
17.10.2002 08:37:11
Kurt
Ich habe einer Befehlsschaltfläche ein großes Makro zugewiesen, nun kommt eine Fehlermeldung, daß die Prozedur zu groß sei.
Was meint ihr, was ist nun das Beste, was ich machen kann ?
Soll ich eine 2. Befehlsschaltfläche einfügen und das Makro auf die beiden Buttons aufteilen ?

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Zu langer Code
17.10.2002 08:40:53
Hajo_Zi
Hallo Kurt

überarbeite doch den Code. Verzichte auf Select und ähnliche Befehle. Arbeite mit Schleifen. Ohne was von Deinem Code zu sehen ist da schlecht Tip zu geben.

Gruß hajo

Re: Zu langer Code
17.10.2002 08:45:42
Kurt
Der Code für die ComboBox 261-280 ist identisch daher füge ich nur den Code für 261 ein.

Private Sub CommandButton1_Click()

If ComboBox261 = "1" Then Sheets("Organigramm2").Shapes("Rechteck 1").Select
If ComboBox261 = "1.1" Then Worksheets("Organigramm2").Shapes("Rechteck 3").Select& Worksheets("Organigramm2").Shapes("Autoform 29").Select
If ComboBox261 = "1.2" Then Worksheets("Organigramm2").Shapes("Rechteck 4").Select& Worksheets("Organigramm2").Shapes("Autoform 30").Select
If ComboBox261 = "1.3" Then Worksheets("Organigramm2").Shapes("Rechteck 2").Select& Worksheets("Organigramm2").Shapes("Autoform 28").Select
If ComboBox261 = "1.4" Then Worksheets("Organigramm2").Shapes("Rechteck 5").Select& Worksheets("Organigramm2").Shapes("Autoform 31").Select
If ComboBox261 = "1.1.1" Then Worksheets("Organigramm2").Shapes("Rechteck 11").Select& Worksheets("Organigramm2").Shapes("Autoform 33").Select
If ComboBox261 = "1.1.2" Then Worksheets("Organigramm2").Shapes("Rechteck 12").Select& Worksheets("Organigramm2").Shapes("Autoform 34").Select
If ComboBox261 = "1.1.3" Then Worksheets("Organigramm2").Shapes("Rechteck 10").Select& Worksheets("Organigramm2").Shapes("Autoform 32").Select
If ComboBox261 = "1.1.4" Then Worksheets("Organigramm2").Shapes("Rechteck 13").Select& Worksheets("Organigramm2").Shapes("Autoform 35").Select
If ComboBox261 = "1.2.1" Then Worksheets("Organigramm2").Shapes("Rechteck 16").Select& Worksheets("Organigramm2").Shapes("Autoform 37").Select
If ComboBox261 = "1.2.2" Then Worksheets("Organigramm2").Shapes("Rechteck 17").Select& Worksheets("Organigramm2").Shapes("Autoform 38").Select
If ComboBox261 = "1.2.3" Then Worksheets("Organigramm2").Shapes("Rechteck 15").Select& Worksheets("Organigramm2").Shapes("Autoform 36").Select
If ComboBox261 = "1.2.4" Then Worksheets("Organigramm2").Shapes("Rechteck 18").Select& Worksheets("Organigramm2").Shapes("Autoform 39").Select
If ComboBox261 = "1.3.1" Then Worksheets("Organigramm2").Shapes("Rechteck 7").Select& Worksheets("Organigramm2").Shapes("Autoform 27").Select
If ComboBox261 = "1.3.2" Then Worksheets("Organigramm2").Shapes("Rechteck 8").Select& Worksheets("Organigramm2").Shapes("Autoform 26").Select
If ComboBox261 = "1.3.3" Then Worksheets("Organigramm2").Shapes("Rechteck 6").Select& Worksheets("Organigramm2").Shapes("Autoform 24").Select
If ComboBox261 = "1.3.4" Then Worksheets("Organigramm2").Shapes("Rechteck 9").Select& Worksheets("Organigramm2").Shapes("Autoform 25").Select
If ComboBox261 = "1.4.1" Then Worksheets("Organigramm2").Shapes("Rechteck 20").Select& Worksheets("Organigramm2").Shapes("Autoform 41").Select
If ComboBox261 = "1.4.2" Then Worksheets("Organigramm2").Shapes("Rechteck 21").Select& Worksheets("Organigramm2").Shapes("Autoform 42").Select
If ComboBox261 = "1.4.3" Then Worksheets("Organigramm2").Shapes("Rechteck 19").Select& Worksheets("Organigramm2").Shapes("Autoform 40").Select
If ComboBox261 = "1.4.4" Then Worksheets("Organigramm2").Shapes("Rechteck 22").Select& Worksheets("Organigramm2").Shapes("Autoform 43").Select

Selection.ShapeRange.ZOrder msoSendtofront
End Sub

Anzeige
Re: Zu langer Code
17.10.2002 08:56:22
Hajo_Zi
Hallo Kurt

da habe ich mir ja was aufgeladen.

Ich bin nun nicht der Fachmann für Steuerelemente in der Tabelle und das beispiel nachzuvollziehen erscheint mir ein wenig kompliziert. Vielleicht reicht Dir folgender Ansatz von einem Nichtfachmann für Steuerelemente in der Tabelle

Gruß Hajo

Re: Zu langer Code
17.10.2002 09:00:11
Kurt
Danke für die schnelle Hilfe, ich werde den Code gleich mal umschreiben und sage dir wie es gelaufen ist.
Re: Zu langer Code
17.10.2002 09:27:06
Kurt
Nun meckert er zwar nicht mehr über die Größe, aber dafür gefällt ihm die letzte Zeile nicht mehr:

Selection.ShapeRange.ZOrder msoSendtofront

Objekt unterstützt Eigenschaft oder Methode nicht.

Hast du vielleicht dafür auch eine Idee ?

Anzeige
Re: noch offen
17.10.2002 09:32:50
Hajo_Zi
Hallo Kurt

da muß ich nur wiederholen ich bin nicht der Fachmann für Steuerelemente im Register. Stelle doch mal den Veränderten Code ins Forum vielleicht hat noch jemand einen Einfall.

Gruß Hajo

Der neue Code
17.10.2002 09:37:09
Kurt
So ich stell nun mal den neuen Code hier rein.
Vielleicht fällt tatsächlich noch jemandem etwas ein.

~Begin~
Private Sub CommandButton1_Click()
Dim I As Integer
For I = 261 To 280
With ActiveSheet.OLEObjects("Combobox" & I).Object
Select Case .Value
Case "1"
Worksheets("Organigramm2").Shapes("Rechteck 1").Select
Case "1.1"
Worksheets("Organigramm2").Shapes("Rechteck 3").Select& Worksheets("Organigramm2").Shapes("Autoform 29").Select
Case "1.2"
Worksheets("Organigramm2").Shapes("Rechteck 4").Select& Worksheets("Organigramm2").Shapes("Autoform 30").Select
Case "1.3"
Worksheets("Organigramm2").Shapes("Rechteck 2").Select& Worksheets("Organigramm2").Shapes("Autoform 28").Select
Case "1.4"
Worksheets("Organigramm2").Shapes("Rechteck 5").Select& Worksheets("Organigramm2").Shapes("Autoform 31").Select
Case "1.1.1"
Worksheets("Organigramm2").Shapes("Rechteck 7").Select& Worksheets("Organigramm2").Shapes("Autoform 27").Select
Case "1.1.2"
Worksheets("Organigramm2").Shapes("Rechteck 8").Select& Worksheets("Organigramm2").Shapes("Autoform 26").Select
Case "1.1.3"
Worksheets("Organigramm2").Shapes("Rechteck 6").Select& Worksheets("Organigramm2").Shapes("Autoform 24").Select
Case "1.1.4"
Worksheets("Organigramm2").Shapes("Rechteck 9").Select& Worksheets("Organigramm2").Shapes("Autoform 25").Select
Case "1.2.1"
Worksheets("Organigramm2").Shapes("Rechteck 11").Select& Worksheets("Organigramm2").Shapes("Autoform 33").Select
Case "1.2.2"
Worksheets("Organigramm2").Shapes("Rechteck 12").Select& Worksheets("Organigramm2").Shapes("Autoform 34").Select
Case "1.2.3"
Worksheets("Organigramm2").Shapes("Rechteck 10").Select& Worksheets("Organigramm2").Shapes("Autoform 32").Select
Case "1.2.4"
Worksheets("Organigramm2").Shapes("Rechteck 13").Select& Worksheets("Organigramm2").Shapes("Autoform 35").Select
Case "1.3.1"
Worksheets("Organigramm2").Shapes("Rechteck 16").Select& Worksheets("Organigramm2").Shapes("Autoform 37").Select
Case "1.3.2"
Worksheets("Organigramm2").Shapes("Rechteck 15").Select& Worksheets("Organigramm2").Shapes("Autoform 36").Select
Case "1.3.3"
Worksheets("Organigramm2").Shapes("Rechteck 15").Select& Worksheets("Organigramm2").Shapes("Autoform 36").Select
Case "1.3.4"
Worksheets("Organigramm2").Shapes("Rechteck 18").Select& Worksheets("Organigramm2").Shapes("Autoform 39").Select
Case "1.4.1"
Worksheets("Organigramm2").Shapes("Rechteck 20").Select& Worksheets("Organigramm2").Shapes("Autoform 41").Select
Case "1.4.2"
Worksheets("Organigramm2").Shapes("Rechteck 21").Select& Worksheets("Organigramm2").Shapes("Autoform 42").Select
Case "1.4.3"
Worksheets("Organigramm2").Shapes("Rechteck 19").Select& Worksheets("Organigramm2").Shapes("Autoform 40").Select
Case "1.4.4"
Worksheets("Organigramm2").Shapes("Rechteck 22").Select& Worksheets("Organigramm2").Shapes("Autoform 43").Select
End Select
End With
Next I
Selection.ShapeRange.ZOrder msoSendtofront
End Sub
~End~

Anzeige
Re: Der neue Code
17.10.2002 09:40:09
Hajo_Zi
Hallo Kurt

begin und end alles klein

Gruß Hajo

Nun aber übersichtlicher
17.10.2002 09:41:48
Kurt

Re: Nun aber übersichtlicher
17.10.2002 10:37:15
GerdZ
Hallo Kurt,

versuch mal


Selection.ShapeRange.ZOrder msoSendtofront

durch

Selection.BringToFront
zu ersetzen.

Gruß
Gerd

Re: gleiches Problem
17.10.2002 11:06:28
Kurt
Danke für den Tipp.

Leider hat es nichts genützt. Nun bleibt er bei der Zeile:

Selection.BringToFront

hängen.
Und wieder die gleiche Fehlermeldung.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige