Seite 1 von 1
Einträge mit "farbigem Stift"
Verfasst: Do, 30.01.2014 22:46
von BenHEP
Hallo Community,
ich bin dabei eine Tabelle zu erstellen, die von mehreren Personen geführt bzw. gefüllt werden soll. Hierbei soll jeder für seine Eintragungen eine Farbe wählen können, damit später ersichtlich ist, wer welche Inhalte (Minutenzahlen) eingetragen hat. Da die meisten Nutzer dieser Liste nicht besonders Office-erfahren sind, sollte die "Stift-Wahl" möglichst einfach, z.B. via Dropdown-Menü von statten gehen.
Bisher ist mir nur die Möglichkeit geläufig, mit verschiedenen Formatvorlagen über den Stylist (F11) und dem "Gießkannenprinzip" die Zellen "schnell" zu formatieren.
Hier sind aber potenzielle Fehlerquellen sowie Erklärungsbedarf für unerfahrene Nutzer nötig. (Ich höre die Kollegen schon: "Waaas? so kompliziert???

)
Kann dieses Prinzip in ein Dropdown-Menü eingebunden werden?
Genaueres zur Tabelle: Es ist ein Monatskalender, der verschiedene Tätigkeiten katalogisiert. Die Tage sind in den Spalten, die Tätigkeiten in den Zeilen untereinander.
Da viele kleine Eintragungen (Dauer in Minuten für jeweilige Tätigkeit) pro Tag getätigt werden müssen, kommt eine nachträgliche manuelle Umfärbung der Zellen nicht in Frage.
Ob der Zellenhintergrund oder die Schrift farbig wird, wäre egal.
Könnt ihr nachvollziehen, worum es mir geht und habt ihr eine Idee, wie ich das umsetzen könnte?
viele Grüße und schonmal danke für euer Interesse
Ben
Re: Einträge mit "farbigem Stift"
Verfasst: Fr, 31.01.2014 12:28
von BenHEP
gast freedom hat geschrieben:Bearbeiten-Änderungen-Aufzeichnen könnte die Lösung sein.
Allerdings färbt sich nur der Zellenrand, also nicht genau das, was du wolltest.
In den Optionen-Calc-Änderungen kannst du die Farbgebung ändern, wenn du willst.
Damit jeder seine Farbe bekommt, sollten in den Optionen Benutzerdaten eingetragen sein.
Das klingt vielversprechend. Farbige Zellenränder wären auch in Ordnung.
Ist es möglich, für ein Dokument mehrere Benutzer anzulegen, die dann vor oder während der Verwendung des Dokuments gewählt werden? (Ähnlich eines Logins) Oder meinst du mit "Benutzer" die Anmeldung der Systemoberfläche? Die Tabelle wird übrigens in OSX geführt.
Grüße
Ben
Re: Einträge mit "farbigem Stift"
Verfasst: Fr, 31.01.2014 12:43
von clag
hi
wieviele Farben brauchst du denn?
wie währe es mit Mottco und und zu jeder Zeitspalte/zeile eine Hilfsreiche in der der Ma sein Kürzel einträgt
und dann wird über das Kürzel und BF eingefärbt?
Re: Einträge mit "farbigem Stift"
Verfasst: Fr, 31.01.2014 17:31
von BenHEP
clag hat geschrieben:hi
wieviele Farben brauchst du denn?
wie währe es mit Mottco und und zu jeder Zeitspalte/zeile eine Hilfsreiche in der der Ma sein Kürzel einträgt
und dann wird über das Kürzel und BF eingefärbt?
Ich bräuchte wenigstens 3 Farben, 4 wären Luxus.
Hier mal ein Bild von einem Monat der Jahres-Tabelle:
http://www.pic-upload.de/view-22124218/FLS.jpg.html
Da die Tabelle mit "Tätigkeiten" schon gut gefüllt ist, ist eine dreifache Ausführung für jeden Mitarbeiter zu platzintensiv.
Wenn man in eine Zelle einen Buchstaben + Minuten ("P15" für "Petra arbeitet 15 Minuten) schreiben könnte, BF diese Schreibweise decodieren und die Zahl für weitere Summenformel ebenfalls lesbar gemacht werden könnte, wäre das auch in Ordnung. Allerdings scheint mir ein solches Konstrukt nicht möglich. Und selbst das wäre schon eng.
grüße
Ben
Re: Einträge mit "farbigem Stift"
Verfasst: Fr, 31.01.2014 17:39
von BenHEP
gast freedom hat geschrieben:Oder meinst du mit "Benutzer" die Anmeldung der Systemoberfläche?
ich meine Extras-Einstellungen-LibreOffice (oder OpenOffice)->Benutzerdaten.
Die kann man zwar verändern, wie und wie oft man will, ist aber nur für einen Benutzer vorgesehen.
Das habe ich getestet. Wenn ich nach den Änderungen die Farbe wechsele, ändert sich die Farbe für alle Felder, auch die bereits geänderten.
Wie kann ich die Farben einem Benutzer zuordnen?
Re: Einträge mit "farbigem Stift"
Verfasst: Fr, 31.01.2014 19:26
von F3K Total
Hallo Ben,
ich denke, was du vorhast, geht nur per Makro, darum habe ich eines geschrieben:
Code: Alles auswählen
global nCurrentcolor as long
Sub S_Insert_Color(changedCell)
osheet = Thiscomponent.currentcontroller.activesheet
sSheetname = osheet.Name
oARange = oSheet.getCellRangeByName("B3:AF22")'Bereich in dem Farben eingetragen werden
aCurrentRangeaddress = changedCell.Rangeaddress
if changedCell.AbsoluteName = "$"+sSheetname+".$A$1" then 'Zelle in der der aktuelle Name eingetragen wird
sName = oSheet.getcellbyposition(0,0).string
oSheetPersonen = Thiscomponent.Sheets.getbyname("Personen")'Tabellenblatt auf dem die Personen stehen
oRangePersoenen = oSheetPersonen.getcellrangebyname("A2:B5") 'Bereich in dem die Personen und jeweiligen Farben stehen
for i = 0 to oRangePersoenen.rows.count - 1
ocell = oRangePersoenen.getcellbyposition(0,i)
if ocell.string = sName then
nCurrentcolor = oRangePersoenen.getcellbyposition(1,i).cellbackcolor'auslesen der aktuellen Hintergrundfarbe
changedCell.cellbackcolor = nCurrentcolor
exit for
end if
next i
else
if oARange.queryIntersection(aCurrentRangeaddress).count = 1 then
changedCell.cellbackcolor = nCurrentcolor
endif
endif
End Sub
Um es anzupassen:
- Binde das Makro an das Tabellenereignis "Inhalt geändert" (rechte Maustaste auf Tabellenreiter -> Tabellenereignisse ...) der Tabellenblätter auf denen du "Farbeintragungen" machen möchtest.
- Erzeuge in Zelle A1 eine Datengültigkeit, die auf die Namen auf einem zusätzlich angelegten Tabellenblatt "Personen" zugreift.
- Färbe das Feld rechts jedes Namens mit der gewünschten Farbe ein.
- Schreibe den Bereich der Personen und Farben ins Makro (im Beispiel A2:B5)
- Schreibe den Zellbereich in dem die Farben eingetragen werden sollen in das Makro (im Beispiel B3:AF22)
Damit das Makro laufen darf, stellst du unter Extras/Optionen/Openoffice.org oder LibreOffice.org/Sicherheit/Makrosicherheit mindestens die Stufe "Mittel" ein, dann wirst du beim Öffnen von Dokumenten gefragt, ob du Makros ausführen möchtest.
Anbei eine Beispieldatei.
Wähle in Zelle A1 eine Person, und trage dann igendwo im Bereich B3:AF22 etwas ein.
Viel Erfolg
Gruß R
Re: Einträge mit "farbigem Stift"
Verfasst: Fr, 31.01.2014 20:49
von Karolus
Hallo R
Warum so kompliziert, Ben muss doch nur für jeden Benutzer eine Zellvorlage mit dem Namen des jeweiligen Benutzers kreieren, und ( ausser →Daten→Gültigkeit.. für den Namenseintrag in A1 ) folgendes ans Ereignis 'Inhalt geändert' binden:
Code: Alles auswählen
Sub colorize(event)
sheet = event.Spreadsheet
currentaddress = event.RangeAddress
colorrange = sheet.getCellRangeByName("B2:F20")
if colorrange.queryIntersection(currentaddress).count = 1 then
'Zellvorlage wird aus A1 ausgelesen und zugewiesen
event.Cellstyle = sheet.getCellrangeByName("A1").String
end if
End Sub
Karolus
Re: Einträge mit "farbigem Stift"
Verfasst: Fr, 31.01.2014 23:07
von F3K Total
Hallo Karolus,
Karolus hat geschrieben:Ben muss doch nur für jeden Benutzer eine Zellvorlage mit dem Namen des jeweiligen Benutzers kreieren ...
Gute Idee!
Danke für den Tipp.
Gruß Rik
Re: Einträge mit "farbigem Stift"
Verfasst: Fr, 31.01.2014 23:58
von BenHEP
Karolus hat geschrieben:Hallo R
Warum so kompliziert, Ben muss doch nur für jeden Benutzer eine Zellvorlage mit dem Namen des jeweiligen Benutzers kreieren, und ( ausser →Daten→Gültigkeit.. für den Namenseintrag in A1 ) folgendes ans Ereignis 'Inhalt geändert' binden:
Code: Alles auswählen
Sub colorize(event)
sheet = event.Spreadsheet
currentaddress = event.RangeAddress
colorrange = sheet.getCellRangeByName("B2:F20")
if colorrange.queryIntersection(currentaddress).count = 1 then
'Zellvorlage wird aus A1 ausgelesen und zugewiesen
event.Cellstyle = sheet.getCellrangeByName("A1").String
end if
End Sub
Karolus
BOA ich fall ja gleich vom Stuhl. Is ja der Hammer was ihr euch für ne Arbeit macht! Danke. Ich bin jetzt zu müde das zu probieren aber morgen setz ich mich dran. Ergänzend nur noch folgendes:
Ich habe den gesamten Kalender 2014 in einer Tabelle, jeweils eine Seite pro Monat. Wie ergänze ich jetzt die folgenden Seiten in das oben genannte SUB? Die betreffenden Bereiche lauten D5:AH27, D33:AH55, D61:AH83, usw..
Erschwerend kommt jetzt noch hinzu, dass ich in einem Dokument ca 10 dieser Jahreskalender, jeweils in einer separaten Tabelle verwalten möchte. Wird davon das SUB beeinflusst? Gerne kann die Auswahl der Farbe EINMAL getroffen werden und dann für alle 10 Tabellen gültig sein. Notwendig ist dies aber nicht. Sie könnte auch auf jeder Tabelle neu wählbar sein - was einfacher zu schreiben ist.
Danke Rik und Karolus für eure hilfreichen Beiträge!
Ben
Re: Einträge mit "farbigem Stift"
Verfasst: Sa, 01.02.2014 09:15
von F3K Total
Moin,
BenHEP hat geschrieben:D5:AH27, D33:AH55, D61:AH83, usw..
Dann nimmst Du dieses Makro:
Code: Alles auswählen
Sub colorize(event)
sRanges = Array("D5:AH27", "D33:AH55", "D61:AH83")'hier die Zellbereiche eintragen
osheet = event.Spreadsheet
acurrentaddress = event.RangeAddress
aColorranges = ThisComponent.createInstance("com.sun.star.sheet.SheetCellRanges")
for i = 0 to ubound (sRanges)
aColorranges.addRangeAddress(oSheet.getCellRangeByName(sRanges(i)).RangeAddress,False)
next i
if aColorranges.queryIntersection(acurrentaddress).count = 1 then
'Zellvorlage wird aus A1 ausgelesen und zugewiesen
event.Cellstyle = osheet.getCellrangeByName("A1").String
end if
End Sub
Noch ein Tipp: füge dem Namensbereich z.B. den Namen "löschen" hinzu und ordne ihm keine Zellvorlage zu.
Gruß R
Re: Einträge mit "farbigem Stift"
Verfasst: Sa, 01.02.2014 10:09
von Karolus
Hallo
Wie ergänze ich jetzt die folgenden Seiten in das oben genannte SUB? Die betreffenden Bereiche lauten D5:AH27, D33:AH55, D61:AH83, usw..
Code: Alles auswählen
Sub color(event)
sheet = event.Spreadsheet
currentaddress = event.RangeAddress
colorranges = array("D5:AH27", "D33:AH55", "D61:AH83") '# entsprechend erweitern'
for each range in colorranges
range = sheet.getCellRangeByName( range )
if range.queryIntersection(currentaddress).count = 1 then
event.Cellstyle = sheet.getCellrangeByName("A1").String
exit for
end if
next
End Sub
Erschwerend kommt jetzt noch hinzu, dass ich in einem Dokument ca 10 dieser Jahreskalender, jeweils in einer separaten Tabelle verwalten möchte. Wird davon das SUB beeinflusst? Gerne kann die Auswahl der Farbe EINMAL getroffen werden und dann für alle 10 Tabellen gültig sein. Notwendig ist dies aber nicht. Sie könnte auch auf jeder Tabelle neu wählbar sein - was einfacher zu schreiben ist.
Farben nebst Namen definierst du jeweils über eine
Zellvorlage (die gilt fürs ganze Dokument) - du musst nur für
jedes der 10 Tabellenblätter das Tabellenereignis 'Inhalt geändert' mit dem Makro verknüpfen.
Karolus
Re: Einträge mit "farbigem Stift"
Verfasst: Sa, 01.02.2014 13:13
von BenHEP
Gute Arbeit, Männer!
Ich hab die Variante von Karolus trotz meiner nur grundlegenden Calc-Kentnisse umsetzen können und es funktioniert jetzt auf der gesamten ersten Tabelle. Alles weitere sollte ich alleine hinbekommen.
Vielen Dank für eure Unterstützung und ein schönes WE!
Ben
Re: Einträge mit "farbigem Stift"
Verfasst: Sa, 01.02.2014 19:31
von BenHEP
Eine abschließende Frage noch:
was muss ich tun, dass beim Öffnen des Dokuments mit mehreren Tabellen immer eine bestimmte Tabelle automatisch gewählt wird?
Re: Einträge mit "farbigem Stift"
Verfasst: So, 02.02.2014 00:44
von Karolus
Hallo
Das Dokument öffnet mit der selben Ansicht wie beim letzten schliessen...
( falls an der Stelle eine Änderung gespeichert wurde )
Karolus
Re: Einträge mit "farbigem Stift"
Verfasst: So, 02.02.2014 13:55
von BenHEP
Karolus hat geschrieben:Hallo
Das Dokument öffnet mit der selben Ansicht wie beim letzten schliessen...
( falls an der Stelle eine Änderung gespeichert wurde )
Karolus
Ja, das habe ich gemerkt. Die Wahl der Farbe ist jedoch nicht wie im Beispiel "color_entry" auf der Seite der Kalender-Tabelle sondern auf einer separaten Seite. Da ja die Benutzer vor ihren Eintragungen zunächst ihre Farbe wählen sollten, wäre es gut wenn diese Auswahl zu allererst getätigt wird.
Die "zuletzt-geändert"-Position für alle anderen Tabellen darf gerne beibehalten werden, nur soll die Farb-Wahl-Tabelle beim öffnen aktiv sein.
LG
Ben