Daten filtern und kopieren

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Daten filtern und kopieren

Re: Daten filtern und kopieren

von Nopsi » Do, 11.06.2020 13:07

Danke für die Hilfe :)

Re: Daten filtern und kopieren

von F3K Total » Di, 09.06.2020 18:03

Moin,
funzt bei mir, wenn ich den Filterbereich statt mit

Code: Alles auswählen

oBereichAlleDaten = oDatenSheet.getCellRangeByName( "A:V" )
eher etwas kleiner

Code: Alles auswählen

oBereichAlleDaten = oDatenSheet.getCellRangeByName( "A1:V10000" )
ansetze.
Gruß R

Daten filtern und kopieren

von Nopsi » Di, 09.06.2020 13:32

Hallo zusammen
Ich versuche gerade mein Makro zum laufen zu bringen. In Excel habe ich schon ein funktionierendes Makro dafür aber für Libre office brauche ich noch eins. Wenn ich das Makro starte läuft die eingabe des Filterbegriff einwandfrei, aber danach passiert einfach gar nix. sieht jemand meinen Fehler?

Code: Alles auswählen

Option Explicit

sub tst()
Dim d1Doc 'die geladene Komponente
Dim d2Doc 'die geladene Komponente
Dim d3Doc 'die geladene Komponente
Dim Arg() 'ein leeres Array der Argumenteliste
Dim sText As String
Dim oDatenSheet 
Dim oBereichAlleDaten 
Dim oFilterBeschreib 
Dim oFilterFeld
Dim oZielZelle 

Dim sURL as String, Sframe As String, lSearch As Long

d1Doc=StarDesktop.loadComponentFromURL (ConvertToURL("V:\user\folder\mappe1.ods"), "_default", 63, Arg())
d2Doc=StarDesktop.loadComponentFromURL (ConvertToURL("V:\user\folder\mappe2.ods"), "_default", 63, Arg())
d3Doc=StarDesktop.loadComponentFromURL (ConvertToURL("V:\user\folder\mappe3.ods"), "_default", 63, Arg())

sText = InputBox("Textsuche:", "Suche", "")

oDatenSheet = d3Doc.Sheets().getByName( "BERECHNUNG" )
' Bereich
oBereichAlleDaten = oDatenSheet.getCellRangeByName( "A:V" )
'(2) FILTER erstellen
oFilterBeschreib = oBereichAlleDaten.createFilterDescriptor ( TRUE ) 
'
oFilterFeld = createUnoStruct( "com.sun.star.sheet.TableFilterField" )
With oFilterFeld
 .Field = 3 ' Spalte D
 .Operator = com.sun.star.sheet.FilterOperator.EQUAL
 .StringValue = sText
End With
' Feld auf Filter anwenden
oFilterBeschreib.setFilterFields( Array( oFilterFeld ) ) 
' (4) Ausgabebereich des Filters festlegen 
oFilterBeschreib.CopyOutputData = TRUE
'----><> Startzelle des Ausgabebereichs
oZielZelle = d1Doc.Sheets().getByName( "BERECHNUNG" ).getCellByPosition( 4 , 6 ) ' Spalte/Zeile 
' Zieladresse zuweisen
oFilterBeschreib.OutputPosition = oZielZelle.CellAddress
' Filter auf Datenbereich anwenden
oBereichAlleDaten.filter( oFilterBeschreib ) 

end sub

Nach oben