Teile einer Formel „auslagern“

Hallöchen!

In meiner Statistik (für Tischtennismannschaften) verändern sich ab und zu die Größenachsen der Diagramme. Warum, weiß ich nicht. Deshalb habe ich für sämtliche „Hauptmakros“ (ca. 80 Stück), bei denen ein Spieler in den Diagrammen hinzugefügt bzw. gelöscht wird, ein „Teilmakro“ entworfen. Dieses „Teilmakro“ soll die Größenachsen immer auf 1 skalieren. Das Einfügen des „Teilmakros“ in die vielen „Hauptmakros“ klappt jedoch nicht.

Fehlermeldung:
Fehler beim Kompilieren: Variable oder Prozedur anstelle eines Moduls erwartet.

Wahrscheinlich ist die Lösung des Problems sehr einfach, nur weiß ich hier leider nicht weiter.

Über Hilfe würde ich mich sehr freuen :wink:

Viele Grüße,
Daniel

Teilmakro:

Sub diagramm\_hilfe()
 ActiveChart.Axes(xlValue).Select
 With ActiveChart.Axes(xlValue)
 .MinimumScale = 0
 .MaximumScale = 1
 .MinorUnitIsAuto = True
 .MajorUnit = 0.25
 .Crosses = xlAutomatic
 .ReversePlotOrder = False
 .ScaleType = xlLinear
 .DisplayUnit = xlNone
 End With
End Sub

(Auszug aus einem) Hauptmakro:

Sub Spieler\_einfuegen()
 Sheets("Aushang (Hinrunde)").Select
 ActiveSheet.ChartObjects("Diagramm 4").Activate
 ActiveChart.ChartArea.Select
 ActiveChart.SetSourceData Source:=Sheets("Aushang (Hinrunde)").Range( \_
 "Y8:Y11,AP8:AP11"), PlotBy:=xlColumns
**diagramm\_hilfe**
 ActiveWindow.Visible = False
End Sub

Hallöchen, Daniel!

Fehlermeldung:
Fehler beim Kompilieren: Variable oder Prozedur anstelle
eines Moduls erwartet.

Wahrscheinlich ist die Lösung des Problems sehr einfach, nur
weiß ich hier leider nicht weiter.

Keine Ahnung, kommt bei mir nicht. Theoretisch müsste eine Zeile oder eine bestimmte Stelle markiert sein. Welche wäre das?

Und zur Not lösch mal ein Makro, kompiliere und füge das Makro dann wieder ein. Manchmal verknotet sich da was, was komische Compilerfehler bringt, die wieder verschwinden, wenn man die Prozedur löscht und wieder einfügt.

Gruß, Manfred

Hallöchen Manfred!

Vielen Dank für die superschnelle Antwort. Du bist ja schneller als Schumi :wink:
Die Statistik ist mittlerweile recht komplex geworden (Makros sind mit Sicherheit nicht optimal, da ich von VBA kaum Ahnung habe). Ich hab mir eins der Makros mal angeguckt, kann aber nicht genau sagen, welche Zelle/Zeile markiert ist. Wenn Du Lust hast, kannst Du einen Blick rein werfen. Ich hab sie auf eine Homepage hochgeladen. Nach Fertigstellung soll sie kostenfrei zum Download angeboten werden. Ist also nichts eigennütziges …

http://www.kingpong.de/rangliste/TT-Statistik_2.7.2_…

Im (ersten) Blatt „Einstellungen“ kann man via Klick auf den Button neben einem Namen den Spieler einfügen - hier kommt die Fehlermeldung.

Bsp.:
Ersatzspieler unter ‚Hinrunde‘ einfügen (grüner Button), dann sollte im Blatt „Aushang (Hinrunde)“ der Spieler entsprechend integriert und im Diagramm eingetragen werden.

Die relevanten Modulnamen wären hierfür:

  • Diagramm_hilfe
  • Hinrunde_Einzel_einfuegen

Viele Grüße,
Daniel

Hallöchen Daniel!

Die relevanten Modulnamen wären hierfür:

  • Diagramm_hilfe
  • Hinrunde_Einzel_einfuegen

Alles klar, da knallt’s. Du hast Modul und Funktion gleich benannt. Heißt im Klartext: Zuerst wird bei Aufrufen nach Modulen gesucht, wenn die nicht gefunden werden, nach Funktionen. Wenn Du nach Deiner Zeile „Diagramm_hilfe“ einen Punkt eingibst, wirst Du die in diesem Modul für andere Module sichtbaren Prozeduren sehen. Du könntest also Diagramm_hilfe.Diagramm_hilfe aufrufen, das ginge.

Generell würde ich aber alle Module und sonstige Objekte wie Userforms eindeutig benennen und ggf. irgendeinen beschreibenden Präfix wie „modMeineFunktionen“ für Modul oder „frmMeinFormular“ für Forms nehmen. Der Code liest sich leichter, wenn Du auf diese Dinge referenzierst. Und solche Probleme treten nicht auf. Ohne Deinen Source wäre ich im Leben nicht darauf gekommen zu fragen, ob Du auch ein Modul gleichen Namens hast (obwohl die Fehlermeldung darauf hindeutete).

Lange Rede, kurzer Sinn: Benenn dieses eine Modul nach modDiagramm_hilfe (oder sonstwie), und das Ding rennt.

Gruß, Manfred

1 „Gefällt mir“

Hi Daniel,
ich krieg mit winrar und powerarchiver Fehlermeldung über CRC-Fehler bei deiner rar-Datei.
Reparierversuche scheiterter.
Kannst du sie als xls und rar auf die Seite stellen?
http://www.kingpong.de/rangliste/TT-Statistik_2.7.2_…
Gruß
Reinhard

Problem gelöst, vielen Dank
Hi Reinhard,

danke für die schnelle Antwort und Deine stetige Hilfsbereitschaft! Ich habe die Statistik extra gepackt (ca. 700 kb), weil sie original knapp 2 MB groß ist. Auf ein selbstentpackendes Archiv habe ich verzichtet, da viele Leute .exe-Dateien gegenüber skeptisch sind :wink:
Das Problem ist mittlerweile gelöst. Manfred hat den Fehler gefunden:

Du hast Modul und Funktion gleich benannt … Benenn dieses eine Modul nach modDiagramm_hilfe (oder sonstwie), und das Ding rennt.

Ich hab die Statistik, falls sie Dich interessiert, nochmal als exe hochgeladen:
http://www.kingpong.de/rangliste/TT-Statistik_2.7.2_…

Viele Grüße,
Daniel

Problem gelöst +++ VIELEN DANK
Und wieder bin ich etwas schlauer geworden, was VBA angeht :wink:

Ich danke Dir vielmals, Manfred!

Viele Grüße,
Daniel

Hi Reinhard!

ich krieg mit winrar und powerarchiver Fehlermeldung über
CRC-Fehler bei deiner rar-Datei.

PowerArchiver lief bei mir problemlos. Was für 'ne Version setzt Du ein?

1 „Gefällt mir“

ich krieg mit winrar und powerarchiver Fehlermeldung über
CRC-Fehler bei deiner rar-Datei.

PowerArchiver lief bei mir problemlos. Was für 'ne Version
setzt Du ein?

Hallo Manfred,
wahrscheinlich eine ältere, 7.02 aus 2001, nicht registriert.
Gruß
Reinhard

1 „Gefällt mir“