BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!
> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
spezialfilter per makro
spezialfilter per makro
hallo,
ich habe folgendes problem:
aus einer liste sollen alle zeilen die in spalte "X" einen wert "y" haben kopiert, gelöscht (zeilen entfernt) und in eine andere tabelle eingefügt werden.
um es mal etwas bildlich darzustellen, muss man sich ein kartenspiel mit 4 spielern vorstellen. am ende des spiels liegen alle karten gemischt auf dem tisch. nun möchte ich nach meinen sortierkriterien jedem spieler wieder neue karten austeilen.
jetzt wäre es schön, ich drücke einen makroknopf "sortierkriterium a" und dann wird automatisch alles was "a" entspricht aussortiert und in das entsprechende tabellenblatt "a" einsortiert.
händisch ist das alles kein problem, brauche ich nichteinmal einen spezialfilter, aber mit makro bekomme ich das nicht hin.
dabei muss ich erwähnen, dass ich natürlich ein makro auch nur aufzeichnen kann (recorder). dann hab ich im makro ein "rem" vor dem spezialfilterbefehl, aber selbst wenn ich das entferne passiert nichts.
ich hoffe meine erklärungen sind verständlich und jemand für den das hier ein "witz" ist kann mir helfen.
gruss,
ich habe folgendes problem:
aus einer liste sollen alle zeilen die in spalte "X" einen wert "y" haben kopiert, gelöscht (zeilen entfernt) und in eine andere tabelle eingefügt werden.
um es mal etwas bildlich darzustellen, muss man sich ein kartenspiel mit 4 spielern vorstellen. am ende des spiels liegen alle karten gemischt auf dem tisch. nun möchte ich nach meinen sortierkriterien jedem spieler wieder neue karten austeilen.
jetzt wäre es schön, ich drücke einen makroknopf "sortierkriterium a" und dann wird automatisch alles was "a" entspricht aussortiert und in das entsprechende tabellenblatt "a" einsortiert.
händisch ist das alles kein problem, brauche ich nichteinmal einen spezialfilter, aber mit makro bekomme ich das nicht hin.
dabei muss ich erwähnen, dass ich natürlich ein makro auch nur aufzeichnen kann (recorder). dann hab ich im makro ein "rem" vor dem spezialfilterbefehl, aber selbst wenn ich das entferne passiert nichts.
ich hoffe meine erklärungen sind verständlich und jemand für den das hier ein "witz" ist kann mir helfen.
gruss,
Re: spezialfilter per makro
Hallo johann,
Wenn die Daten in die zweite Tabelle übernommen wurden, sollen dann die alten
Datensätze gelöscht werden oder sollen die neuen Datensätze angehängt werden?
Und hier die zweite Frage:
Wenn die Datensätze angehängt werden sollen, sollen dann
Unterscheidungsmerkmale für NEU und ALT mit angehängt werden ?
Und hier die dritte Frage:
Was ist mit den Formatierungen un d ggf. Formeln?
- Wenn Du Fragen zu Makros hast, dann stelle diese bitte in Zukunft im Unterforum LibreOffice Programmierung
- Statt einer einfachen Beschreibung Deines Wunsches , ist es in jedem Fall besser
eine Beispieldatei hochzuladen, in der Ist- und Sollzustand von Dir beschrieben werden, etc.- Weil die Helfer dann eine konkrete Vorlage haben und diese
nicht erst nach Deinen Angabe nachgebaut werden muss. - Es erspart Dir und uns zusätzliche Nachfragen, ob es denn so paßt, usw.
- Weil die Helfer dann eine konkrete Vorlage haben und diese
Wenn die Daten in die zweite Tabelle übernommen wurden, sollen dann die alten
Datensätze gelöscht werden oder sollen die neuen Datensätze angehängt werden?
Und hier die zweite Frage:
Wenn die Datensätze angehängt werden sollen, sollen dann
Unterscheidungsmerkmale für NEU und ALT mit angehängt werden ?
Und hier die dritte Frage:
Was ist mit den Formatierungen un d ggf. Formeln?
Gruß
Craig
Nie die Sicherungskopie vergessen!
════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8
Craig
Nie die Sicherungskopie vergessen!
════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8
Re: spezialfilter per makro
hallo Craig,
danke für deine antwort und hinweise.
ich habe eine liste mit übungsliedern. jedes stück wird mit einer punktzahl zwischen 0 und 10000, jenachdem wie gut ich spiele bewertet.
ich verteile die stücke nach 3 kategorien: bis 7500 punkte, zwischen 7500 und 9000 und über 9000 in die entsprechenden tabellenblätter.
aus meinem haupttabellenblatt "gespielt" rufe ich per makrobutton abwechselnd ein zufälliges stück aus einer der tabellen auf, woraufhin dieses im urspung gelöscht wird und in der obersten zeile meiner spielliste eingefügt wird. nachdem ich max. 3 mal gespielt habe hat dieses stück nun einen neuen punktestand.
irgendwann ist zb. die tabelle "bis7500" leer.
jetzt möchte ich per makro alle stücke die immer noch unter 7500 geblieben sind wieder in das tabellenblatt "bis75%" umschaufeln um sie von dort wieder aufrufen zu können.
ich hänge die datei an und hoffe es wird klarer....
danke für deine antwort und hinweise.
ich habe eine liste mit übungsliedern. jedes stück wird mit einer punktzahl zwischen 0 und 10000, jenachdem wie gut ich spiele bewertet.
ich verteile die stücke nach 3 kategorien: bis 7500 punkte, zwischen 7500 und 9000 und über 9000 in die entsprechenden tabellenblätter.
aus meinem haupttabellenblatt "gespielt" rufe ich per makrobutton abwechselnd ein zufälliges stück aus einer der tabellen auf, woraufhin dieses im urspung gelöscht wird und in der obersten zeile meiner spielliste eingefügt wird. nachdem ich max. 3 mal gespielt habe hat dieses stück nun einen neuen punktestand.
irgendwann ist zb. die tabelle "bis7500" leer.
jetzt möchte ich per makro alle stücke die immer noch unter 7500 geblieben sind wieder in das tabellenblatt "bis75%" umschaufeln um sie von dort wieder aufrufen zu können.
ich hänge die datei an und hoffe es wird klarer....
- Dateianhänge
-
- Masterliderliste F Dez21.ods
- (201.4 KiB) 78-mal heruntergeladen
Re: spezialfilter per makro
Hallo johann,
vielen Dank, dass Du die Datei zur Verfügung gestellt hast.
Sorry, leider blicke ich hier nicht durch.
Vielleicht gibt es jemand anderes der Dir hierbei weiterhelfen kann.
vielen Dank, dass Du die Datei zur Verfügung gestellt hast.
Sorry, leider blicke ich hier nicht durch.
Vielleicht gibt es jemand anderes der Dir hierbei weiterhelfen kann.
Gruß
Craig
Nie die Sicherungskopie vergessen!
════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8
Craig
Nie die Sicherungskopie vergessen!
════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8
Re: spezialfilter per makro
hallo Craig,
ich habe jetzt mal eine beispieltabelle gemacht die nichts weiter enthält als das worum es mir geht und habe es nochmals beschrieben so gut ich kann. ich bin überzeut davon dass meine originaltabbelle die ich, dass muss ich zugeben nach besten wissen und gewissen zusammengemurkst habe (aus mangel an kentniss), so undurchsichtig ist dass da niemand durchblickt
aber jetzt glaube ich müsste es gehen.....
gruß,
johann
ich habe jetzt mal eine beispieltabelle gemacht die nichts weiter enthält als das worum es mir geht und habe es nochmals beschrieben so gut ich kann. ich bin überzeut davon dass meine originaltabbelle die ich, dass muss ich zugeben nach besten wissen und gewissen zusammengemurkst habe (aus mangel an kentniss), so undurchsichtig ist dass da niemand durchblickt
aber jetzt glaube ich müsste es gehen.....
gruß,
johann
- Dateianhänge
-
- beispiel.ods
- (15.42 KiB) 71-mal heruntergeladen
Re: spezialfilter per makro
Hallo,
es ist verwirrend ...
Sollen die Zellen inkl. Formeln und Formaten verschoben werden?
Nur Werte? Werte+Formeln?
Kann davon ausgegangen werden, dass die Tabelle "ungesp bis 75%" wirklich leer ist, d. h. ab Zeile 3 eingefügt werden kann?
es ist verwirrend ...
Sollen die Zellen inkl. Formeln und Formaten verschoben werden?
Nur Werte? Werte+Formeln?
Kann davon ausgegangen werden, dass die Tabelle "ungesp bis 75%" wirklich leer ist, d. h. ab Zeile 3 eingefügt werden kann?
Gruß,
mikele
mikele
Re: spezialfilter per makro
hallo Mikele,
wenn du dir meine zweite datei "beispiel.ods" anschaust (aber auch in der originaldatei) ist es so:
drückst du auf das makro "bis75%" dann springt der cursor in die tab "bis75%" und
1) markiert die erste zeile
2) kopiert sie
3)löscht die zeile
4) springt wieder in die hauptabelle in die xte zeile (im beispiel zeile 4)
5) fügt eine zeile oberhalb ein
6) kopiert in diese eingefügte zeile alles (werte, formate, formeln aufs i-tüpfelchen...) was es in der ursprungstabelle kopiert hat
das funktioniert ja auch alles.
nur wenn jedesmal eine zeile aus "bis75%" herausgenommen (gelöscht) und in die haupttabelle geschaufelt wird, dann ist irgendwann das tabelleblatt "bis75%" leer und die hauptabelle wird immer länger. in die hauptabelle kommen ja auch die zeilen aus den blättern "75-90" und "90+".
jetzt kommt das was ich brauche:
sobald eines der 3 tabellenblätter "bis75%" "75-90" und "90+" leer ist dann soll ein makro aus der hauptabelle alle zeilen in die jeweilig gehörende leere tabelle zurückschaufeln (wieder komplett mit haut und haar).
also, "75-90" ist leer dann soll aus der haupttablelle
1) alle zeilen die dem kriterium "aktueller punktestand" spalte F = >=7500 und <9000 entsprechen finden
2)in die tabelle "75-90" einfügen
3) in der haupttabelle entfernen
ich hoffe diese ausführungen bringen etwas mehr klarheit
wenn du dir meine zweite datei "beispiel.ods" anschaust (aber auch in der originaldatei) ist es so:
drückst du auf das makro "bis75%" dann springt der cursor in die tab "bis75%" und
1) markiert die erste zeile
2) kopiert sie
3)löscht die zeile
4) springt wieder in die hauptabelle in die xte zeile (im beispiel zeile 4)
5) fügt eine zeile oberhalb ein
6) kopiert in diese eingefügte zeile alles (werte, formate, formeln aufs i-tüpfelchen...) was es in der ursprungstabelle kopiert hat
das funktioniert ja auch alles.
nur wenn jedesmal eine zeile aus "bis75%" herausgenommen (gelöscht) und in die haupttabelle geschaufelt wird, dann ist irgendwann das tabelleblatt "bis75%" leer und die hauptabelle wird immer länger. in die hauptabelle kommen ja auch die zeilen aus den blättern "75-90" und "90+".
jetzt kommt das was ich brauche:
sobald eines der 3 tabellenblätter "bis75%" "75-90" und "90+" leer ist dann soll ein makro aus der hauptabelle alle zeilen in die jeweilig gehörende leere tabelle zurückschaufeln (wieder komplett mit haut und haar).
also, "75-90" ist leer dann soll aus der haupttablelle
1) alle zeilen die dem kriterium "aktueller punktestand" spalte F = >=7500 und <9000 entsprechen finden
2)in die tabelle "75-90" einfügen
3) in der haupttabelle entfernen
ich hoffe diese ausführungen bringen etwas mehr klarheit
Re: spezialfilter per makro
Hallo,
das klingt wie der Nachbau eines Systems für Lernkarteikarten mit Calc-Tabellen.
Meiner Ansicht nach kompletter Unsinn auf einem Computer, da der Dir die 250 gesuchten Karteikarten blitzschnell heraussuchen kann. Also: Eine Datentabelle und die gesuchte Kategorie als Spalte, nicht als eigenes Blatt. Dann kannst Du mit Autofilter, Standardfilter und auch Dpezialfilten arbeiten ohne irgendwas zu kopieren. Und wenn es zuviele Daten werden kann man problemlos auf eine Datenbank wechseln...
mfg, Jörn
das klingt wie der Nachbau eines Systems für Lernkarteikarten mit Calc-Tabellen.
Meiner Ansicht nach kompletter Unsinn auf einem Computer, da der Dir die 250 gesuchten Karteikarten blitzschnell heraussuchen kann. Also: Eine Datentabelle und die gesuchte Kategorie als Spalte, nicht als eigenes Blatt. Dann kannst Du mit Autofilter, Standardfilter und auch Dpezialfilten arbeiten ohne irgendwas zu kopieren. Und wenn es zuviele Daten werden kann man problemlos auf eine Datenbank wechseln...
mfg, Jörn
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ LO 6.3.2 Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit
Re: spezialfilter per makro
Hallo,
Wanderer hat vollkommen Recht, dass die Datei unübersichtlich und damit auch unpraktikabel ist. Natürlich ist sie für dich vollkommen logisch und sinnvoll.
Trotzdem wäre es die Chance, den Aufbau zu überdenken und dadurch insgesamt (auch für die und die Pflege der Daten) zu vereinfachen.
Zum Gesamtverständnis:
1. Du hast eine Liste mit Titeln (Name und Verzeichnis in Spalte R und S). Daraus wird in Spalte B ein Hyperlink generiert.
2. Die Spalten E-H beschreiben vermutlich den alten/neuen Punktestand, Spielhäufigkeit und Entwicklung.
3. Irgendwo wird die Kategorie festgelegt (das Kriterium habe ich noch nicht gefunden).
Soweit die Ausgangsdatenlage.
Nun möchtest du zufällig einen Titel einer gewissen Kategorie auswählen und üben. Dazu werden irgendwo Zeiten und (neue?) Punkte eingetragen, wodurch sich ggf. die Kategorie ändert.
Das wäre alles mit einer einzigen Tabelle sinnvoll lösbar.
Gibst du uns ein paar weitere Infos zum Verständnis, könnte man es anschieben.
Du darfst natürlich auch bei deiner Arbeitsweise bleiben. Für das gesuchte Makro bräuchte ich halt die Info, welche Spalte die Kategorie definiert. Ich vermute mal Spalte E (in der Masterliderliste F Dez21.ods)?
Wanderer hat vollkommen Recht, dass die Datei unübersichtlich und damit auch unpraktikabel ist. Natürlich ist sie für dich vollkommen logisch und sinnvoll.
Trotzdem wäre es die Chance, den Aufbau zu überdenken und dadurch insgesamt (auch für die und die Pflege der Daten) zu vereinfachen.
Zum Gesamtverständnis:
1. Du hast eine Liste mit Titeln (Name und Verzeichnis in Spalte R und S). Daraus wird in Spalte B ein Hyperlink generiert.
2. Die Spalten E-H beschreiben vermutlich den alten/neuen Punktestand, Spielhäufigkeit und Entwicklung.
3. Irgendwo wird die Kategorie festgelegt (das Kriterium habe ich noch nicht gefunden).
Soweit die Ausgangsdatenlage.
Nun möchtest du zufällig einen Titel einer gewissen Kategorie auswählen und üben. Dazu werden irgendwo Zeiten und (neue?) Punkte eingetragen, wodurch sich ggf. die Kategorie ändert.
Das wäre alles mit einer einzigen Tabelle sinnvoll lösbar.
Gibst du uns ein paar weitere Infos zum Verständnis, könnte man es anschieben.
Du darfst natürlich auch bei deiner Arbeitsweise bleiben. Für das gesuchte Makro bräuchte ich halt die Info, welche Spalte die Kategorie definiert. Ich vermute mal Spalte E (in der Masterliderliste F Dez21.ods)?
Gruß,
mikele
mikele
Re: spezialfilter per makro
Hallo,
kannst/möchtest du ein weitere Infos zu den Spalten und Berechnungen (Tabellen berechnung + auswertung) geben? Warum haben manche Titel einen negativen Punktwert (es sollen doch Punkte von 0 bis 10000 sein)?
kannst/möchtest du ein weitere Infos zu den Spalten und Berechnungen (Tabellen berechnung + auswertung) geben? Warum haben manche Titel einen negativen Punktwert (es sollen doch Punkte von 0 bis 10000 sein)?
Code: Alles auswählen
Sub filter_kopieren
oDoc=ThisComponent
oTab=oDoc.Sheets.getByName("gespielt ")
'letzte benutzte Zeile in Spalte G finden
oc=oTab.Columns(6).queryEmptyCells.RangeAddresses
n=oc(uBound(oc)).StartRow-1
'Zugriff Datenbereich
quelle=oTab.getcellRangeByPosition(0,3,18,n)
'Ziel festlegen
ziel=oDoc.Sheets.getByName("ungesp bis 75%").getCellRangeByName("A3")
'Filter erstellen
oFilter = quelle.createFilterDescriptor(True)
oFilter.ContainsHeader=false
oFilter.CopyOutputData=true 'gefilterte Zellen sollen ins Ziel kopiert werden
oFilter.OutputPosition=ziel.celladdress
oFilter.SkipDuplicates=true
'Filterbedingung setzen
aFilterFields = DimArray(0)
aFilterFields(0) = new com.sun.star.sheet.TableFilterField
aFilterFields(0).Connection = com.sun.star.sheet.FilterConnection.AND
aFilterFields(0).field=6
aFilterFields(0).IsNumeric = true
aFilterFields(0).NumericValue=7500
aFilterFields(0).Operator = com.sun.star.sheet.FilterOperator.LESS_EQUAL
oFilter.setFilterFields(aFilterFields)
'Filterung durchführen
quelle.filter(oFilter)
End Sub
Gruß,
mikele
mikele
An alle, die das LibreOffice-Forum nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
❤️ Vielen lieben Dank für Ihre Unterstützung ❤️