Hi,
ich importiere mittels OO CALC Daten aus externer Quelle.
Beim Aktualisieren der Daten werden diese oft in andere Zellen geschrieben als beim letzten Import, wodurch die Weiterverarbeitung wesentlich erschwert wird.
Eine Lösung wäre, nach jedem Import in allen Tabellenblättern gleichzeitig die benötigten Daten, es handelt sich eigentlich nur um zwei benachbarte Zellen, an eine immer gleiche Stelle, z.B. E10 und F10, im jeweiligen Tabellenblatt zu kopieren. Die linke Zelle enthält immer den gleichen Text und die daneben liegende Zelle eine variable Zahl.
Das Vorgehen könnte also etwa so aussehen: Suche gleichzeitig in allen Tabellenblättern die Zelle in welcher der (immer gleiche) Text steht, kopiere diese Zelle und die rechts daneben liegende Zelle in allen Tabellenblättern nach beispielsweise Zelle B12.
Tja, das wär's eigentlich.
Hat jemand einen Vorschlag, wie man das umsetzten kann??
Danke für Hilfe
Gruß
Girge
In mehreren Tabellenblättern gleichzeitig Zellen suchen und kopieren
Moderator: Moderatoren
Re: In mehreren Tabellenblättern gleichzeitig Zellen suchen und kopieren
Hallo,
versuche es mit INDEX(Bereich;VERGLEICH();0).
versuche es mit INDEX(Bereich;VERGLEICH();0).
Gruß HeritzP
Re: In mehreren Tabellenblättern gleichzeitig Zellen suchen und kopieren
ersetze die rechts daneben liegende Zelle in allen Tabellenblättern durch SVERWEIS(linke Zelle, Importbereich, 2, 0)
Libre Office 6.3.1 (Win 10 Pro) / Libre Office 6.0.7 (Win8.1 Pro, Win 7 Pro) / AOO (Win 7)
Re: In mehreren Tabellenblättern gleichzeitig Zellen suchen und kopieren
Hallo und vielen Dank für die Ratschläge. Aber mit INDEX und SVERWEIS bin ich schlicht und ergreifend überfordert.
Ich glaube ich habe einen für mich einfacheren Weg entdeckt:
Und zwar habe ich ein Makro gemacht, welches mir die erforderlichen Schritte ausführt. Funktioniert gut und blitzschnell, ABER halt immer nur auf einem Tabellenblatt.
Jetzt wäre es super, wenn mir jemand das Script so ergänzen würde, dass es auf allen Tabellenblätter einer Datei gleichzeitig ausgeführt wird. Ich habe in einem früheren Beitrag hier im Forum gelesen, dass es möglich ist.
Vielen Dank für weitere Unterstützung
Ciao
Girgei
Hier das Script:
Code: Alles auswählen
REM ***** BASIC *****
Sub Main
End Sub
sub Kurs
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$D$9"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "$E$1:$F$1"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args2())
rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "Flags"
args3(0).Value = "SVDFN"
dispatcher.executeDispatch(document, ".uno:Delete", "", 0, args3())
rem ----------------------------------------------------------------------
dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "ToPoint"
args4(0).Value = "$G$10"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args4())
rem ----------------------------------------------------------------------
dim args5(0) as new com.sun.star.beans.PropertyValue
args5(0).Name = "ToPoint"
args5(0).Value = "$F$1"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args5())
rem ----------------------------------------------------------------------
rem dispatcher.executeDispatch(document, ".uno:FormatCellDialog", "", 0, Array())
rem ----------------------------------------------------------------------
dim args7(0) as new com.sun.star.beans.PropertyValue
args7(0).Name = "ToPoint"
args7(0).Value = "$D$1"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args7())
rem ----------------------------------------------------------------------
dim args8(17) as new com.sun.star.beans.PropertyValue
args8(0).Name = "SearchItem.StyleFamily"
args8(0).Value = 2
args8(1).Name = "SearchItem.CellType"
args8(1).Value = 0
args8(2).Name = "SearchItem.RowDirection"
args8(2).Value = true
args8(3).Name = "SearchItem.AllTables"
args8(3).Value = false
args8(4).Name = "SearchItem.Backward"
args8(4).Value = false
args8(5).Name = "SearchItem.Pattern"
args8(5).Value = false
args8(6).Name = "SearchItem.Content"
args8(6).Value = false
args8(7).Name = "SearchItem.AsianOptions"
args8(7).Value = false
args8(8).Name = "SearchItem.AlgorithmType"
args8(8).Value = 1
args8(9).Name = "SearchItem.SearchFlags"
args8(9).Value = 65536
args8(10).Name = "SearchItem.SearchString"
args8(10).Value = "aktueller Kurs"
args8(11).Name = "SearchItem.ReplaceString"
args8(11).Value = ""
args8(12).Name = "SearchItem.Locale"
args8(12).Value = 255
args8(13).Name = "SearchItem.ChangedChars"
args8(13).Value = 2
args8(14).Name = "SearchItem.DeletedChars"
args8(14).Value = 2
args8(15).Name = "SearchItem.InsertedChars"
args8(15).Value = 2
args8(16).Name = "SearchItem.TransliterateFlags"
args8(16).Value = 1280
args8(17).Name = "SearchItem.Command"
args8(17).Value = 0
dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args8())
rem ----------------------------------------------------------------------
dim args9(1) as new com.sun.star.beans.PropertyValue
args9(0).Name = "By"
args9(0).Value = 1
args9(1).Name = "Sel"
args9(1).Value = true
dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args9())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
rem ----------------------------------------------------------------------
dim args11(0) as new com.sun.star.beans.PropertyValue
args11(0).Name = "ToPoint"
args11(0).Value = "$E$1"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args11())
rem ----------------------------------------------------------------------
dim args12(5) as new com.sun.star.beans.PropertyValue
args12(0).Name = "Flags"
args12(0).Value = "SV"
args12(1).Name = "FormulaCommand"
args12(1).Value = 0
args12(2).Name = "SkipEmptyCells"
args12(2).Value = false
args12(3).Name = "Transpose"
args12(3).Value = false
args12(4).Name = "AsLink"
args12(4).Value = false
args12(5).Name = "MoveMode"
args12(5).Value = 4
dispatcher.executeDispatch(document, ".uno:InsertContents", "", 0, args12())
end sub
Re: In mehreren Tabellenblättern gleichzeitig Zellen suchen und kopieren
Ok also für Dich ist ein BASIC-Macro einfacher als SVERWEIS...
Verstehst Du Dein Macro?
Reichen Dir Hinweise, wo Du die entsprechende Schleife einbauen kannst, oder brauchst Du jemanden, der die Änderungen einbaut?
Mfg, Jörn
Verstehst Du Dein Macro?
Reichen Dir Hinweise, wo Du die entsprechende Schleife einbauen kannst, oder brauchst Du jemanden, der die Änderungen einbaut?
Mfg, Jörn
Libre Office 6.3.1 (Win 10 Pro) / Libre Office 6.0.7 (Win8.1 Pro, Win 7 Pro) / AOO (Win 7)
-
- *******
- Beiträge: 1147
- Registriert: So, 14.05.2017 16:11
Re: In mehreren Tabellenblättern gleichzeitig Zellen suchen und kopieren
Da geht es vermutlich weiter
https://de.openoffice.info/viewtopic.ph ... 95#p298095
https://de.openoffice.info/viewtopic.ph ... 95#p298095
Win 11 (x64) ▪ 24.2.3.2 (x64) ▪ AOO Portable 4.1.15
Wurde die Frage zutreffend beantwortet bitte den Betreff der Eingangsfrage mit [GELÖST] ergänzen. Beschreibung
Wurde die Frage zutreffend beantwortet bitte den Betreff der Eingangsfrage mit [GELÖST] ergänzen. Beschreibung