Hallo,
ich habe eine Tabelle die folgendermaßen aufgebaut ist:
Spalte A Nummern der Arten, Spalte B, Namen von Arten, Spalte C Autoren der Arten, Spalte D ein Kreuz je nachdem ob die Art richtig besimmt ist oder nicht.
Ab Spalte E kommen die Angaben, ob eine Art vorkommt oder nicht in Prozentangaben.
Im Kopf der Spalten E usw. stehen dann verschiedene Angaben (Zeilen 1-13) zu den Stellen (jede Spalte ab E ist eine Stelle).
Ich möchte nun, dass daraus eine Tabelle wird die folgendermaßen aufgebaut ist.
In Spalte A, B, C,D sollen die Angaben aus den Zeilen 3,4,6,11 stehen, dann die Angaben aus den Spalten A, B, C, D und alle Häufigkeiten der Arten.
Also im Prinzip aus einer Kreuztabelle eine Tabelle in der die Proben mit den Arten und Häufigkeiten untereinander dargestellt werden. Umgekehrt bekomme ich dies mit der Datenpilot hin (aus einer Tabelle mit Daten die untereinander stehen eine Kreuztabelle zu machen) aber so bekomme ich es nicht hin.
Habe ein Beispiel der Kreuztabelle angehängt /Ursprungstabelle und wie es dann aussehen soll.
Vielen Dank
Marcus
Kreuztabelle in Tabelle mit Werten unterienander anordnen
Moderator: Moderatoren
Kreuztabelle in Tabelle mit Werten unterienander anordnen
- Dateianhänge
-
- Taxalisten Test.ods
- (28.59 KiB) 52-mal heruntergeladen
Re: Kreuztabelle in Tabelle mit Werten unterienander anordnen
Hallo
Mit normalen Calcmitteln hast du da keine Chance, probier mal folgendes Makro :
Gruß Karo
Mit normalen Calcmitteln hast du da keine Chance, probier mal folgendes Makro :
Code: Alles auswählen
Sub transkopie
quelle = thisComponent.sheets().getbyName("Ursprungstabelle")
ziel = thisComponent.sheets().getbyName("Tabelle1")
zz = 0
fz = array(1,2,3,5,10)'Spaltenkopfeinträge Zeilenindex: PN |See-Nr.|Seename|Transsekt|Präparat
for scol = 4 to 40 'Ursprung Spaltenindex der Probenwerte
for iv = 13 to 145 'Zeilenindeces der Probenwerte
if quelle.getcellbyposition(scol,iv).string <> "" then
zz = zz+1 'index Zielzeile hochzählen
for i = 0 to ubound(fz)'kopfzeilen kopieren
ziel.getcellbyposition(i,zz).string = quelle.getcellbyposition(scol,fz(i)).string
next i
for i = 5 to 8 ' Zeilenköpfe der Probe: DV-Nr.|Taxon|Autor|cf.
ziel.getcellbyposition(i,zz).string = quelle.getcellbyposition(i-5,iv).string
next i
ziel.getcellbyposition(9,zz).formulalocal = quelle.getcellbyposition(scol,iv).string
end if
next iv
next scol
End Sub
LO25.2… debian 13( trixie ) auf Raspberry5 8GB (ARM64)
LO25.8… flatpak debian 13( trixie ) auf Raspberry5 8GB (ARM64)
LO25.8… flatpak debian 13( trixie ) auf Raspberry5 8GB (ARM64)
Re: Kreuztabelle in Tabelle mit Werten unterienander anordnen
Hallo,
vielen Dank für die Hilfe. Ich kenne mich allerdings überhaupt nicht aus mit Makros. Ich habe das Makro unter Extras/Makros/Verwalten/OpenOffice.org Basic in ein vorhandenes Standard Makro hineinkopiert und dann gespeichert. Dann habe ich das Mkro ausgeführt und es scheint zu klappen.
Jetzt hatte ich als Beispieldatei nur ein Ausschnitt der richtigen Tabelle hochgeladen, die richtige hat 322 Spalten mit Werten und 446 Arten (Zeilen, der letzte Eintrag steht in Zeile 459).
Nun habe ich im Makro einfach folgende Einträge geändert:
for scol = 4 to 400 'Ursprung Spaltenindex der Probenwerte
for iv = 13 to 458 'Zeilenindeces der Probenwerte
Was geben denn die beiden Zahlen an?
Bei Dir stand for scol = 4 to 40 'Ursprung Spaltenindex der Probenwerte
for iv = 13 to 145 'Zeilenindeces der Probenwerte
Der erste Wert bei den Zeilen war in Zeile 14 und der letzte Eintrag in der Tabelle war im Beispiel in Zeile 146. Die Überschrift in Zeile 13.
Was müssen die Zahlen einschließen, nur die Werte oder auch die Überschriften.
Kann ich einfach am Ende wie oben höhere Werte eintragen obwohl dann nichts mehr in den Zeilen bzw. Spalten steht?
Vielen Dank und Grüße
Marcus
vielen Dank für die Hilfe. Ich kenne mich allerdings überhaupt nicht aus mit Makros. Ich habe das Makro unter Extras/Makros/Verwalten/OpenOffice.org Basic in ein vorhandenes Standard Makro hineinkopiert und dann gespeichert. Dann habe ich das Mkro ausgeführt und es scheint zu klappen.
Jetzt hatte ich als Beispieldatei nur ein Ausschnitt der richtigen Tabelle hochgeladen, die richtige hat 322 Spalten mit Werten und 446 Arten (Zeilen, der letzte Eintrag steht in Zeile 459).
Nun habe ich im Makro einfach folgende Einträge geändert:
for scol = 4 to 400 'Ursprung Spaltenindex der Probenwerte
for iv = 13 to 458 'Zeilenindeces der Probenwerte
Was geben denn die beiden Zahlen an?
Bei Dir stand for scol = 4 to 40 'Ursprung Spaltenindex der Probenwerte
for iv = 13 to 145 'Zeilenindeces der Probenwerte
Der erste Wert bei den Zeilen war in Zeile 14 und der letzte Eintrag in der Tabelle war im Beispiel in Zeile 146. Die Überschrift in Zeile 13.
Was müssen die Zahlen einschließen, nur die Werte oder auch die Überschriften.
Kann ich einfach am Ende wie oben höhere Werte eintragen obwohl dann nichts mehr in den Zeilen bzw. Spalten steht?
Vielen Dank und Grüße
Marcus
Re: Kreuztabelle in Tabelle mit Werten unterienander anordnen
Hallo
Gruß Karo
Es wäre besser wenn du das in ein neues Modul des zu bearbeitenden Dokuments hineinkopierst, und die Tabellennamen im Dokument und im Makro auf Namen abänderst die du sonst nirgends benutzt, (damit verhinderst evtl. Datenverlust falls das Makro mal versehentlich gestartet wird)Ich habe das Makro unter Extras/Makros/Verwalten/OpenOffice.org Basic in ein vorhandenes Standard Makro hineinkopiert und dann gespeichert. Dann habe ich das Mkro ausgeführt und es scheint zu klappen.
Das ist ok.Nun habe ich im Makro einfach folgende Einträge geändert:
for scol = 4 to 400 'Ursprung Spaltenindex der Probenwerte
for iv = 13 to 458 'Zeilenindeces der Probenwerte
Nur die Werte, wobei du auf die Indexzählung achten musst: Zeile1 entspricht 0 , Zeile2 entspricht 1 usw.Was müssen die Zahlen einschließen, nur die Werte oder auch die Überschriften.
Fürs Ende kannst du ruhig höhere Werte eintragen, das verlängert lediglich die Laufzeit.Kann ich einfach am Ende wie oben höhere Werte eintragen obwohl dann nichts mehr in den Zeilen bzw. Spalten steht?
Gruß Karo
LO25.2… debian 13( trixie ) auf Raspberry5 8GB (ARM64)
LO25.8… flatpak debian 13( trixie ) auf Raspberry5 8GB (ARM64)
LO25.8… flatpak debian 13( trixie ) auf Raspberry5 8GB (ARM64)
Re: Kreuztabelle in Tabelle mit Werten unterienander anordnen
Hallo Karo,
vielen Dank für die Hilfe.
Es scheint alles zu funktionieren
Marcus
vielen Dank für die Hilfe.
Es scheint alles zu funktionieren

Marcus