❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱


❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 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: 2157
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: 2580
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: 2580
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: 2580
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: 2580
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 und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten