🍀 Das LibreOffice Forum braucht HEUTE Ihre Hilfe! 🍀
❤️ Spenden Sie jetzt und sichern Sie die Zukunft unseres LibreOffice-Forums ❤️
Ihre Spende hilft, die Community offen, werbefrei (bei Registrierung) und lebendig zu halten. Vielen lieben Dank!

🙏 DANKE >> << DANKE 🙏

>> Das LibreOffice-Forum lebt von Ihnen – und von vielen Experten, die freiwillig und kostenlos ihr Wissen teilen.<<
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

Automatischer Seitenumbruch / automatische Tabellenblätter

CALC ist die Tabellenkalkulation, die Sie immer wollten.
dreckfrosch
Beiträge: 24
Registriert: Fr 6. Mär 2015, 15:15

Automatischer Seitenumbruch / automatische Tabellenblätter

Beitrag von dreckfrosch » Do 19. Mär 2015, 09:56

Hallo liebe Libre-Office-Gemeinde,

ich habe folgendes Problem:

In einer Tabelle enthält eine Spalte viele verschiedene E-Mail Adressen. Die einzelnen Adressen tauchen teilweise einzeln oder auch mehrfach auf. Die Tabelle ist alphabetisch nach den E-Mail-Adressen sortiert
Beispiel:

franz@email.de
franz@email.de
hanswurst@xyz.com
klaus@abc.de
karl@123.de
karl@123.de
karl@123.de

Nun muss ich die Tabellen so ausdrucken, dass auf einem Ausdruck immer nur die Einträge zu sehen sind, die einer e-Mail-Adresse zuzuordnen sind.
Wie kann ich also entweder automatisch immer dann einen Seitenumbruch einrichten, wenn die E-Mail-Adresse sich ändert, oder wie kann ich aus den einzelnen E-Mail-Adressen jeweils neue Tabellenblätter generieren, die ich dann schnell hintereinander ausdrucken kann?

Um beim obigen Beispiel zu bleiben:

franz@email.de
franz@email.de
_______________________
hanswurst@xyz.com
_______________________
klaus@abc.de
_______________________
karl@123.de
karl@123.de
karl@123.de
_______________________

Das ganze händisch zu machen ist aufgrund der Datenmenge undenkbar.

Vielen Dank für Eure Unterstüzung!

Der Dreckfrosch

Benutzeravatar
miesepeter
* LO-Experte *
Beiträge: 2271
Registriert: So 19. Dez 2010, 18:16
Wohnort: Bayern

Re: Automatischer Seitenumbruch / automatische Tabellenblätt

Beitrag von miesepeter » Do 19. Mär 2015, 12:05

Workaround:
SUCHEN/ERSETZEN @ durch @_ (_ = Leerzeichen)
Menü Daten > Text in Spalten (Trenner Leerzeichen)
Dann sortieren oder filtern...

Wenn sonst nichts geht, wäre das eine manuelle Alternative...
Ciao

dreckfrosch
Beiträge: 24
Registriert: Fr 6. Mär 2015, 15:15

Re: Automatischer Seitenumbruch / automatische Tabellenblätt

Beitrag von dreckfrosch » Do 19. Mär 2015, 12:34

Vielen Dank, ich habe Deine Schritte grundsätzlich verstanden, komme aber nicht zum gewünschten Ergebnis. Mit dieser Methode trenne ich ja nur alles ab, was hinter dem @ steht. Dennoch bleiben alle Einträge untereinander sortiert in einem Tabellenblatt...oder verstehe ich das irgendwie falsch?

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2712
Registriert: Fr 10. Dez 2010, 10:01

Re: Automatischer Seitenumbruch / automatische Tabellenblätt

Beitrag von karolus » Do 19. Mär 2015, 13:09

Hallo

@miesepeter : #####frosch möchte manuelle Zeilenumbrüche wenn die Mail-adresse wechselt.

Code: Alles auswählen

Sub Main
doc = ThisComponent
sel = doc.CurrentSelection
sheet = sel.Spreadsheet
rows = sheet.Rows
c = 0  'index Spalte A -- Bitte Anpassen'
r = 0
firstentry = sheet.getCellByPosition(c, r).String
do
    r = r+1
    nextentry = sheet.getCellByPosition(c, r).String
    
    if nextentry <> firstentry then   'first →→ firstentry'
        rows.getByIndex(r).IsManualPageBreak = True
    End If
    firstentry = nextentry
Loop until nextentry = ""
End Sub
Edit: Fehler in Zeile 13 berichtigt
Zuletzt geändert von karolus am Do 19. Mär 2015, 14:16, insgesamt 1-mal geändert.
LO25.2.x.y debian 13(trixie) auf Raspberry5 8GB (64bit)
LO25.8.x.y flatpak debian 13(trixie) auf Raspberry5 8GB (64bit)

dreckfrosch
Beiträge: 24
Registriert: Fr 6. Mär 2015, 15:15

Re: Automatischer Seitenumbruch / automatische Tabellenblätt

Beitrag von dreckfrosch » Do 19. Mär 2015, 13:15

Super der Code scheint zu funktionieren. Die Spalte mit den E-Mail-Adressen ist Spalte L, wie ist das dann genau einzutragen. Ich kenne mich mit Makros leider überhaupt nicht aus. Ich habe ihn zwar ausführen können, aber nun ist hinter jeder E-Mail Adresse ein Seitenumbruch. Es wird also nicht erkannt, wenn die Adressem gleich lauten.

Wahrscheinlich hab ich das mit der Spalte L falsch eingegeben...

Code: Alles auswählen

    Sub Main
    doc = ThisComponent
    sel = doc.CurrentSelection
    sheet = sel.Spreadsheet
    rows = sheet.Rows
    c = 0  'index Spalte L'
    r = 0
    firstentry = sheet.getCellByPosition(c, r).String
    do
        r = r+1
        nextentry = sheet.getCellByPosition(c, r).String
        
        if nextentry <> first then
            rows.getByIndex(r).IsManualPageBreak = True
        End If
        firstentry = nextentry
    Loop until nextentry = ""
    End Sub

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2712
Registriert: Fr 10. Dez 2010, 10:01

Re: Automatischer Seitenumbruch / automatische Tabellenblätt

Beitrag von karolus » Do 19. Mär 2015, 13:22

Hallo

Ich habs ungenau beschrieben -- ja du möchtest Seitenumbrüche zwischen den Zeilen bei denen der Inhalt wechselt.
edit.
du hast den Kommentar geändert aber nicht den Index

Code: Alles auswählen

c = 11 'das ist der Index von Spalte L
edit_ende
Karolus
LO25.2.x.y debian 13(trixie) auf Raspberry5 8GB (64bit)
LO25.8.x.y flatpak debian 13(trixie) auf Raspberry5 8GB (64bit)

dreckfrosch
Beiträge: 24
Registriert: Fr 6. Mär 2015, 15:15

Re: Automatischer Seitenumbruch / automatische Tabellenblätt

Beitrag von dreckfrosch » Do 19. Mär 2015, 13:31

...mmh...

es bleibt bei Umbrüchen nach jeder einzelen E-Mail-Adresse...

Code: Alles auswählen

REM  *****  BASIC  *****

    Sub Main
    doc = ThisComponent
    sel = doc.CurrentSelection
    sheet = sel.Spreadsheet
    rows = sheet.Rows
    c = 11
    r = 0
    firstentry = sheet.getCellByPosition(c, r).String
    do
        r = r+1
        nextentry = sheet.getCellByPosition(c, r).String
        
        if nextentry <> first then
            rows.getByIndex(r).IsManualPageBreak = True
        End If
        firstentry = nextentry
    Loop until nextentry = ""
    End Sub

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2712
Registriert: Fr 10. Dez 2010, 10:01

Re: Automatischer Seitenumbruch / automatische Tabellenblätt

Beitrag von karolus » Do 19. Mär 2015, 13:43

Hallo

Ja - du musst die Dinger erst wieder wegbekommen.

Code: Alles auswählen

Sub setback
doc = ThisComponent
sel = doc.CurrentSelection
sheet = sel.Spreadsheet
sheet.Rows.IsManualPageBreak = False
End Sub
LO25.2.x.y debian 13(trixie) auf Raspberry5 8GB (64bit)
LO25.8.x.y flatpak debian 13(trixie) auf Raspberry5 8GB (64bit)

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2712
Registriert: Fr 10. Dez 2010, 10:01

Re: Automatischer Seitenumbruch / automatische Tabellenblätt

Beitrag von karolus » Do 19. Mär 2015, 14:13

Hach - immer diese blöden Fehler in Basic - update:

Code: Alles auswählen

Sub Main
doc = ThisComponent
sel = doc.CurrentSelection
sheet = sel.Spreadsheet
rows = sheet.Rows
c = 11  'index Spalte L -- Bitte Anpassen
r = 0
f_irst = sheet.getCellByPosition(c, r).String
do
    r = r+1
    n_ext = sheet.getCellByPosition(c, r).String
    
    if n_ext <> f_irst then
        rows.getByIndex(r).IsManualPageBreak = 1
    Else 
         rows.getByIndex(r).IsManualPageBreak = 0
    End If
    f_irst = n_ext
Loop until n_ext = ""
End Sub
LO25.2.x.y debian 13(trixie) auf Raspberry5 8GB (64bit)
LO25.8.x.y flatpak debian 13(trixie) auf Raspberry5 8GB (64bit)

dreckfrosch
Beiträge: 24
Registriert: Fr 6. Mär 2015, 15:15

Re: Automatischer Seitenumbruch / automatische Tabellenblätt

Beitrag von dreckfrosch » Do 19. Mär 2015, 14:48

Ohne Scheiß---TOTAL GEIL! Vielen Dank und sorry für den unflätigen Ton, aber das musste mal sein!

Haut hin!!! DAAAAANKE!!!! :D

Fällt Dir jetzt noch irgendwas cooles ein, damit er auch auf jeder Seite die Tabellenüberschrift übernimmt??? Wäre nur ein Schmankerl und nicht so schlimm, wenn's nicht geht oder total kompliziert ist!


An alle, die das LibreOffice-Forum gern nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das laufende.
Einfach per Kreditkarte oder PayPal. Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.



❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten