Probleme mit dem Befehl INDIREKT
03.05.2025 11:55:04
kilix
bin neu hier und arbeite daran mehrere LibreOffice Dokumente mit Makros für Excel umzuschreiben. Nachdem ich die LO-Dokumente auch im Format xlsm speichern kann bzw. Excel das LO-Format lesen kann ist die Übernahme der Tabellen mit wenigen Ausnahmen kein Problem. Anders sieht es mit den Makros aus, die gar nicht übernommen werden können. Bis jetzt konnte Makros recht leicht mit dem Makrorecorder aufzeichnen und ggf. durch meine alten Basic-Kenntnisse leicht anpassen.
Nun stehe ich aber vor dem Problem, dass ich für Sorts dynamische Bereich benötige.
Ich arbeite so, dass ich im ersten Schritt Tabelle(n) aus einer SQL-Datenbank einlese und deren Daten dann in einer Tabelle verknüpfe. Da die Datenmenge mit der Zeit ansteigt muss ich die Formeln in größere Bereiche als jetzt benötigt eintragen. Z.B. in 2000 Zeilen statt in 342 Zeilen. Um in den Zellen der Zeilen für ich ich derzeit aus den Tabellen keine Daten habe keinen 0-Eintrag sondern eine leere Zelle zu sehen trage ich bei Nichtvorhanden ein "" ein.
Beim Sortieren werden aber diese Zeilen mit sortiert was ich nicht möchte. Ich habe deshalb im Internet nach der Möglichkeit den Sortierbereich dynamisch zu gestalten und habe den Befehl INDIREKT gefunden.
Dazu habe ich in meiner Tabelle in der Zelle E1 die Anzahl Zeilen mit Eintrag errechnet. Der zu sortierende Bereich sind die Zeilen mit Daten im bereich A2:D2000 als genau A2:D60 (in E1 steht 60).
Damit habe ich versucht in einem Makro den Bereich so zu definieren:
Sub Makro1 ()
Range ("A2:D" & indirekt(E1)).Select
End Sub
Damit erhalte ich aber im Debugger die Fehlermeldung: Fehler beim kompilieren, Sub oder Function nicht definiert.
Danke für eure Hilfe
kilix
Anzeige