BITTE helfen Sie uns das LibreOffice Forum zu erhalten!
Vielen Dank für Ihre SPENDE.
> KEINE WERBUNG FÜR REGISTRIERTE LIBREOFFICE-FORUM-USER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
[GELÖST] Eingabemaske für Calc-Tabelle
[GELÖST] Eingabemaske für Calc-Tabelle
Siehe unten, suche Hilfe bei einer Eingabemaske für Calc-Tabelle.
- Dateianhänge
-
- Bild2.JPG (38.31 KiB) 3314 mal betrachtet
-
- Bild1.JPG (41.68 KiB) 3314 mal betrachtet
Zuletzt geändert von minbari am Do 19. Sep 2024, 22:07, insgesamt 6-mal geändert.
Re: Eingabe-Maske für eine Tabelle unter Libre-Office / Calc
»funktioniert nicht wirklich« ist für andere keine brauchbare Beschreibung!minbari hat geschrieben:Screens füge ich bei. Der erste übernommene Code funktioniert nicht wirklich.
ebensowenig kann man »Screens« von Dialogen debuggen
Poste bitte vernünftige Fehlerbeschreibungen und hänge eine komplette Datei an (ohne vertrauliche Daten ) inklusive Dialog die man dann testen kann!
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: Eingabe-Maske für eine Tabelle unter Libre-Office / Calc
Moin,
hier mal eine Musterdatei.
minbari
hier mal eine Musterdatei.
minbari
- Dateianhänge
-
- Fahrtenbuch Neu Libre Ano.ods
- (21.47 KiB) 63-mal heruntergeladen
Zuletzt geändert von minbari am So 15. Sep 2024, 18:19, insgesamt 1-mal geändert.
Re: Eingabe-Maske für eine Tabelle unter Libre-Office / Calc
Hallo
"Listbox2" ⇒ "ListBox2"
oTab.getcellbyposition(2,n).string=octrkat.text
⇒ oTab.getcellbyposition(2,n).string=octrkat.SelectedItem
oTab.getcellbyposition(3,n).string=octrkat.text
⇒ oTab.getcellbyposition(3,n).string=octrkat.SelectedItem
"Listbox2" ⇒ "ListBox2"
oTab.getcellbyposition(2,n).string=octrkat.text
⇒ oTab.getcellbyposition(2,n).string=octrkat.SelectedItem
oTab.getcellbyposition(3,n).string=octrkat.text
⇒ oTab.getcellbyposition(3,n).string=octrkat.SelectedItem
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: Eingabe-Maske für eine Tabelle unter Libre-Office / Calc
Das hat was gebracht! Dankeschön!
Jetzt habe ich noch 2 Probleme / Fragen.
Ist es möglich, dass die eingefügten Eintragungen automatisch nach Datum sortiert werden?
Es handelt sich um eine Jahresliste, daher hatte ich es bei Excel so, dass ich nicht schon 3000-4000 Zellen gerahmt hatte,
sondern, ich hatte es so gelöst, dass die neuen Eintragungen (Zeilen) erst mit der Eintragung gerahmt wurden.
Gibt es hier bei Libre auch eine möglichkeit?
Vielen Dank für die Hilfe!!!!
minbari
Jetzt habe ich noch 2 Probleme / Fragen.
Ist es möglich, dass die eingefügten Eintragungen automatisch nach Datum sortiert werden?
Es handelt sich um eine Jahresliste, daher hatte ich es bei Excel so, dass ich nicht schon 3000-4000 Zellen gerahmt hatte,
sondern, ich hatte es so gelöst, dass die neuen Eintragungen (Zeilen) erst mit der Eintragung gerahmt wurden.
Gibt es hier bei Libre auch eine möglichkeit?
Vielen Dank für die Hilfe!!!!
minbari
Zuletzt geändert von minbari am Fr 30. Aug 2024, 09:11, insgesamt 1-mal geändert.
Re: Eingabe-Maske für eine Tabelle unter Libre-Office / Calc
Ich möchte die Eintragungen über die Dialogbox automatisch nach Datum sortieren lassen.
Ich habe es damit probiert:
Sub SortiereBereich
Dim SortProps(2) As new com.sun.star.beans.PropertyValue
Dim SortFeld(0) As new com.sun.star.table.TableSortField
oDatei = ThisComponent
oSheet = oDatei.Sheets(0)
oBereich = oSheet.getCellRangeByName("B7:F4000")
SortFeld(0).Field = 0
SortFeld(0).IsAscending = True
SortFeld(0).FieldType = com.sun.star.util.SortFieldType.AUTOMATIC
SortProps(0).Name = "SortFields"
SortProps(0).Value = SortFeld()
SortProps(1).Name = "SortColumns"
SortProps(1).Value = False
SortProps(2).Name = "ContainsHeader"
SortProps(2).Value = true
oBereich.Sort(SortProps())
End Sub
Funktioniert leider nicht, Wo ist der Fehler?
Ich habe es damit probiert:
Sub SortiereBereich
Dim SortProps(2) As new com.sun.star.beans.PropertyValue
Dim SortFeld(0) As new com.sun.star.table.TableSortField
oDatei = ThisComponent
oSheet = oDatei.Sheets(0)
oBereich = oSheet.getCellRangeByName("B7:F4000")
SortFeld(0).Field = 0
SortFeld(0).IsAscending = True
SortFeld(0).FieldType = com.sun.star.util.SortFieldType.AUTOMATIC
SortProps(0).Name = "SortFields"
SortProps(0).Value = SortFeld()
SortProps(1).Name = "SortColumns"
SortProps(1).Value = False
SortProps(2).Name = "ContainsHeader"
SortProps(2).Value = true
oBereich.Sort(SortProps())
End Sub
Funktioniert leider nicht, Wo ist der Fehler?
Re: Eingabe-Maske für eine Tabelle unter Libre-Office / Calc
Hmm, das ist ja umwerfend...
Re: Eingabe-Maske für eine Tabelle unter Libre-Office / Calc
Mir ist aufgefallen, dass Makros bei älteren Excel-Versionen (Excel 97-03) mit dem alten Dateiformat oft besser unter Libre funktionieren, als die neueren bzw. jetzigen Versionen.
So habe ich eine alte Version meiner Datei gefunden, wo auch die "automatisches-Sortieren-nach-Datum-Funktion" unter Libre funktioniert.
Aber wenn ich den entsprechenden Code kopiere und in meine neue Datei einfüge, kommt wieder eine Fehlermeldung.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim RaBereich As Range, RaZelle As Range
Set RaBereich = Range("B6:F4000")
For Each RaZelle In Range(Target.Address)
If Not Intersect(Target, RaBereich) Is Nothing Then
Range("B6:F4000").Sort Key1:=Range("B7"), Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
Exit For
End If
Next RaZelle
Set RaBereich = Nothing
End Sub
Fehlermeldung: BASIC-Syntaxfehler.
Unbekannter Datentyp Range.
Nächste Frage: Offensichtlich komme ich hier nicht weiter. Die Communitiy ist ein wenig anders als in den bekannten Excel-Foren. Während man dort mit Lösungsvorschlägen quasi überhäuft wird, herrscht hier gähnende Leere.
Vermutlich liegt es auch an der geringen Verbreitung von Libre.
Kann mir jemand Bücher / Kurse empfehlen, oder muss ich hierfür tatsächlich Informatik studieren?
MfG
minbari
So habe ich eine alte Version meiner Datei gefunden, wo auch die "automatisches-Sortieren-nach-Datum-Funktion" unter Libre funktioniert.
Aber wenn ich den entsprechenden Code kopiere und in meine neue Datei einfüge, kommt wieder eine Fehlermeldung.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim RaBereich As Range, RaZelle As Range
Set RaBereich = Range("B6:F4000")
For Each RaZelle In Range(Target.Address)
If Not Intersect(Target, RaBereich) Is Nothing Then
Range("B6:F4000").Sort Key1:=Range("B7"), Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
Exit For
End If
Next RaZelle
Set RaBereich = Nothing
End Sub
Fehlermeldung: BASIC-Syntaxfehler.
Unbekannter Datentyp Range.
Nächste Frage: Offensichtlich komme ich hier nicht weiter. Die Communitiy ist ein wenig anders als in den bekannten Excel-Foren. Während man dort mit Lösungsvorschlägen quasi überhäuft wird, herrscht hier gähnende Leere.
Vermutlich liegt es auch an der geringen Verbreitung von Libre.
Kann mir jemand Bücher / Kurse empfehlen, oder muss ich hierfür tatsächlich Informatik studieren?
MfG
minbari
Re: Bitte löschen!
Moin!
Um es mit Zeugnissprache auszudrücken:
Libre Office bemüht sich stets, VBA-Code rudimentär zu übersetzen.
Spätestens bei Ereignismakros (siehe Deinen letzten Post) trifft der Chinese auf den Texaner.
Wenn Du Open Source korrekt anwenden willst, bleibt Dir nichts anderes übrig, als die neue Sprache zu lernen.
(schreibt jemand, der erweiterte VBA-Kenntnisse besitzt, sich aber immer noch nicht dazu durchdringen konnte, den hiesigen Dialekt zu erlernen)
Gruß Ralf
Das macht ja keinen Sinn.
Es sind halt unterschiedliche Sprachen.Mir ist aufgefallen, dass Makros bei älteren Excel-Versionen (Excel 97-03) mit dem alten Dateiformat oft besser unter Libre funktionieren, als die neueren bzw. jetzigen Versionen.
Um es mit Zeugnissprache auszudrücken:
Libre Office bemüht sich stets, VBA-Code rudimentär zu übersetzen.
Spätestens bei Ereignismakros (siehe Deinen letzten Post) trifft der Chinese auf den Texaner.
Wenn Du Open Source korrekt anwenden willst, bleibt Dir nichts anderes übrig, als die neue Sprache zu lernen.
(schreibt jemand, der erweiterte VBA-Kenntnisse besitzt, sich aber immer noch nicht dazu durchdringen konnte, den hiesigen Dialekt zu erlernen)
Gruß Ralf
Ein Feedback auf eine gegebene Lösung tut nicht weh und zeigt Querlesern, dass das Problem gelöst ist.
Re: Bitte löschen!
Hallo,
also bei mir funktioniert deine Sub SortiereBereich (läuft fehlerfrei durch und sortiert den Bereich korrekt).
Was funktioniert bei dir nicht?
https://de.openoffice.info/viewtopic.php?t=1553
kennst du alles schon?
also bei mir funktioniert deine Sub SortiereBereich (läuft fehlerfrei durch und sortiert den Bereich korrekt).
Was funktioniert bei dir nicht?
Sicher, entweder man formatiert die Zellen mit der Eintragung zusammen hart (Umrandung, ...) oder man weist ihnen eine angelegte Zellvorlage zu (würde ich bevorzugen). Man könnte auch die Formatierung der darüber liegenden Zeile kopieren ...ich hatte es so gelöst, dass die neuen Eintragungen (Zeilen) erst mit der Eintragung gerahmt wurden.
Gibt es hier bei Libre auch eine möglichkeit?
DasKann mir jemand Bücher / Kurse empfehlen
https://de.openoffice.info/viewtopic.php?t=1553
kennst du alles schon?
Gruß,
mikele
mikele
An alle, die das LibreOffice-Forum nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
❤️ Vielen lieben Dank für Ihre Unterstützung ❤️