Hallo Sebastian,
dein Code ist sehr schwer zu lesen. Die ganzen "If ... then" und "For ... next" sind sehr schwer zu entschlüsseln.
Und außerdem: Der Code, so wie Du ihn hier gepostet hast, kann
nie-und-nimmer laufen. Dafür lege ich meine Hand ins Feuer.
Übrigens. Welches Office hast Du genau, mit der Versionsnummer, AOO oder LO?
Wenn ich das Makro nach dem öffnen ausführe steht in Spalte B Zeile 13 bis 17 :
I 1.01
I 1.011
I 1.0111
I 1.01111
I 1.011111
Klingt logisch, da Du hiermit
Code: Alles auswählen
oCell2_31.string = "I " & ElNr_3(0) & "." & ElNr_3(1)
keine addition, sondern eine Text (String) Verkettung durchführst. Also gehst Du dort schon mal den Falschen Weg.
Aber bis dahin komme ich erst gar nicht, wenn ich deinen Code ausführen will, da ich Fehlermeldungen bekomme.
Fehlermeldung hat geschrieben:
Unzulässiger Wert oder Datentyp
Index außerhalb des definierten Bereichs
Und ich glaube kaum das Du weißt was Du da gemacht hast. Oder ist dir bewusst das Du auf ein Array zugreifen willst?
Und da wir schon mal in der Gegend sind.
Was soll denn das? Leerzeichen durch Leerzeichen ersetzen. Den Sinn versteh ich absolut nicht.
Und wenn ich die Codezeile mit der Fehlermeldung auf das hier ändere,
kommt in der darauffolgende CodeZeile
schon die nächste Fehlermeldung
Fehlermeldung hat geschrieben:
BASIC-Laufzeitfehler.
Objektvariable nicht belegt.
Klar! Ist doch so etwas von logisch!
Die Variable *ElNr_2* soll das Ergebnis der Ersetzung der Variable *ElNr_2* aufnehmen. Wie soll denn das gehen?
Und ab hier hatte ich absolut keinen Bock mehr deinen Code irgendwie ans Laufen zu bekommen.
So, und nun noch was generelles zu der Variablen deklaration.
Code: Alles auswählen
dim ElNr_1 'Eingänge letzte Nummer Teil1
dim ElNr_2 'Eingänge letzte Nummer Teil2
dim ElNr_3 'Eingänge letzte Nummer Teil3
dim EWlNr 'Eingänge analog letzte Nummer
dim EWlNr_1 'Eingänge analog letzte Nummer Teil1
dim AlNr 'Ausgänge letzte Nummer
dim AlNr_1 'Ausgänge letzte Nummer Teil1
dim AlNr_2 'Ausgänge letzte Nummer Teil2
dim AlNr_3 'Ausgänge letzte Nummer Teil3
dim AWlNr 'Ausgänge analog letzte Nummer
dim AWlNr_1 'Ausgänge analog letzte Nummer
Von welchen Typ sind denn diese Variablen?
Auch hier wieder: Welcher Typ?
Wenn Du schon ein Blatt (oSheet) deklarierst, dann aber auch richtig, nämlich als Object.
Code: Alles auswählen
dim oCell2_31
dim oCell2_32
dim oCell2_33
dim oCell2_34
dim oCell2_35
Auch hier wieder: Welcher Typ? Text, String oder was?
Wenn Du bei der Variablendeklaration nicht aufpasst, und dementsprechend Fehler einbaust, dann wird sich das früher oder später negativ bemerkbar machen. Du wirst dann auf Probleme und Fehlermeldungen stoßen die dir nicht sofort erklärlich sind. Darauf hast Du mein Wort, das garntiere ich dir.
Code: Alles auswählen
if oCell2_32_Inhalt = "I" and oCell2_31_Inhalt = "" then
if ElNr_3(1)< "7" then
Wenn die 7 ein String (Text) ist, dann ist das akzeptabel das sie in doppelten Anführungszeichen stehen. Wenn sie aber eine Zahl ist, dann sind die doppelten Anführungszeichen überflüssig.
Gruß
balu