Seite 1 von 1
Gelöst ! Eingabemaske für CSV Tabelle erstellen
Verfasst: Sa, 14.11.2015 19:34
von Tom77
Hallo zusammen,
ich würde gerne eine Eingabemaske erstellen um verschiedene Artikelkomponenten in eine recht unübersichtliche CSV Tabelle zu verschieben. Ich habe es schon mit Daten / Form versucht, aber das ist nicht wirklich zufriedenstellend. Am liebsten wären mir 2 Tabellenblätter, aber wie stell ich das blos an ?

schöne Grüße Tom
Re: Eingabemaske für CSV Tabelle erstellen
Verfasst: Sa, 14.11.2015 19:43
von F3K Total
Hi Tom,
das kann ja alles und nichts sein.
Stelle am besten ein Beispieldokument zur Verfügung, an dem man sehen kann, warum deine Tabellen wie aussehen sollen.
Also was soll wo in welche Tabelle/Tabellenspalte?
Dann findest Du vielleicht Hilfe. Mit der Frage, so wie sie jetzt ist, kann wenigstens ich, nix anfangen.
Gruß R
Re: Eingabemaske für CSV Tabelle erstellen
Verfasst: Sa, 14.11.2015 20:19
von Tom77
Hab versucht mal ein Beispiel zu erstellen, so in etwa sollte das ganze aufgebaut sein, beim Original sind es nur um einiges mehr an Spalten.
schöne Grüße Tom
Re: Eingabemaske für CSV Tabelle erstellen
Verfasst: Sa, 14.11.2015 22:06
von F3K Total
Hallo Tom,
kannst Du programmieren?
- Wenn nicht, bleibt dir entweder die serienmäßige Lösung "Form" (gibt es übrigens in AOO nicht, nur in LO) oder du erstellst eine Datenbank, da kannst Du Formulare zur Datenbearbeitung erzeugen. Das ist allerdings mit reichlich Lernaufwand verbunden.
- Wenn ja, schreib ein Makro.
- Möglichkeit 1: Das Makro ließt z.B. in Zellen auf der ersten Tabelle eingegebene Daten aus und schreibt sie in die zweite Tabelle
- Möglichkeit 2: Du erzeugst einen Dialog, der alle Angaben aufnehmen kann, dazu schreibst Du ein Makro, dass die in den Dialog eingegebenen Daten ausliest und in die entsprechenden Spalten deiner zweiten Tabelle schreibt.
R
Re: Eingabemaske für CSV Tabelle erstellen
Verfasst: Sa, 14.11.2015 22:15
von Tom77
F3K Total hat geschrieben:Hallo Tom,
kannst Du programmieren?
- Wenn nicht, bleibt dir entweder die serienmäßige Lösung "Form" (gibt es übrigens in AOO nicht, nur in LO) oder du erstellst eine Datenbank, da kannst Du Formulare zur Datenbearbeitung erzeugen. Das ist allerdings mit reichlich Lernaufwand verbunden.
- Wenn ja, schreib ein Makro.
- Möglichkeit 1: Das Makro ließt z.B. in Zellen auf der ersten Tabelle eingegebene Daten aus und schreibt sie in die zweite Tabelle
- Möglichkeit 2: Du erzeugst einen Dialog, der alle Angaben aufnehmen kann, dazu schreibst Du ein Makro, dass die in den Dialog eingegebenen Daten ausliest und in die entsprechenden Spalten deiner zweiten Tabelle schreibt.
R
Hi R,
ich kann leider nicht programieren

, aber ich würde versuchen mich in die Materie einzuarbeiten.
Gibt es vieleicht irgendwo ein ähnliches Beispiel Makro das man abwandeln könnte ?
Grüße Tom
Re: Eingabemaske für CSV Tabelle erstellen
Verfasst: Sa, 14.11.2015 22:18
von Tom77
Oder gäbe es vielleicht jemanden der mir ein Makro programieren kann ? Ich würde mich selbstverständlich auch erkenntlich zeigen !
Grüße Tom
Re: Eingabemaske für CSV Tabelle erstellen
Verfasst: So, 15.11.2015 08:10
von Stephan
es gibt eine fertige Extension dafür:
http://extensions.services.openoffice.o ... t/dataform
einfach installieren, Datei öffnen, den Datenbereich in der Tabelle markieren und über Daten-Form... (im Menü) starten

- dataform.gif (39.16 KiB) 3136 mal betrachtet
Gruß
Stephan
Re: Gelöst ! Eingabemaske für CSV Tabelle erstellen
Verfasst: So, 15.11.2015 12:28
von Tom77
Gelöst !
Ich danke euch allen recht herzlich für eure Hilfe, besonderen Dank an F3K Total !
schöne Grüße Thomas
Re: Gelöst ! Eingabemaske für CSV Tabelle erstellen
Verfasst: Mo, 16.11.2015 09:21
von hylli
Aus Neugier:
Wie sieht Deine Lösung nun aus?
Hylli
Re: Gelöst ! Eingabemaske für CSV Tabelle erstellen
Verfasst: Mo, 16.11.2015 18:18
von F3K Total
Hi hylli,
es ist ein Makro, das einen vertikalen Zellbereich auf Blatt1 ausliest, transponiert und ans Ende der zweiten Tabelle hängt.
Dabei sind im vertikalen Eingabebereich zwar zeilenweise alle Spalten des Zielbereiches vorhanden und ggf. gefüllt, jedoch nur die zu ändernden, benötigten Zeilen eingeblendet.
So sind von 92 Werten, die übertragen werden müssen, nur 24 sichtbar. Am Ende springt das Makro noch auf die zweite Tabelle ans Ende, damit eine optische Kontrolle möglich ist.
Code: Alles auswählen
Sub S_Save_Row
oSourceSheet = ThisComponent.Sheets.Eingabe
oSourceRange = oSourceSheet.getcellrangebyname("QUELLDATENSATZ")
aSourceData = oSourceRange.getdataarray
oTargetSheet = ThisComponent.Sheets.Tabelle1
oCursor = oTargetSheet.createCursor
ocursor.gotoendofusedarea(false)
nRow = ocursor.rangeaddress.endrow + 1
oTargetRange = oTargetSheet.getcellrangebyposition(0,nRow,91,nRow)
aTargetData = oTargetRange.getdataarray
for i = 0 to 91
aTargetData(0)(i) = aSourceData(i)(0)
next i
oTargetRange.setdataarray(aTargetData)
oController = Thiscomponent.currentController
oController.activeSheet = oTargetSheet
onewController = oController.getbyindex(1)
onewController.firstvisiblerow = nRow-10
End Sub
Gruß R