Doppelte Einträge markieren
Moderator: Moderatoren
Doppelte Einträge markieren
Hallo Fachleute,
leider finde ich den Beitrag von F3K nicht wieder, in dem ich das Beispiel gefunden habe. Deshalb neues Thema.
Ich hätte es gern so, dass doppelte Einträge in den Spalten C bis M nur dann markiert werden, wenn Name und Vorname identisch sind.
Vielen Dank
Jörg
leider finde ich den Beitrag von F3K nicht wieder, in dem ich das Beispiel gefunden habe. Deshalb neues Thema.
Ich hätte es gern so, dass doppelte Einträge in den Spalten C bis M nur dann markiert werden, wenn Name und Vorname identisch sind.
Vielen Dank
Jörg
Gruß Jörg
Win 10 Pro AOO 4.1.15
Win 10 Pro AOO 4.1.15
Re: Doppelte Einträge markieren
Hallo,
@ Moderatoren
Ich würde dieses Thema gern nach Calc verschieben.
Im Grunde geht es ja um "bedingte Formatierung". Diese per Makro zu tun, kann ich mir ja später mal ansehen.
Ich hänge die Datei geändert nochmal dran, damit deutlich wird was ich erreichen möchte.
Die Formel
z.Bsp. für Spalte A ist glaube ich eine Möglichkeit. oder für mehr als zwei
Wie es über mehrere Spalten geht, denke so: A1:C600;A1 (Name einer möglichen Vorlage->C600:A1)
Aber, die sucht mir bsp.weise alle Müllers und markiert mir je nach Vorlage einen davon oder zwei(?)
Mein Anliegen ist, alle Müllers mit gleichem Vornamen zu markieren und anschließend alle gleichen Datumsangaben in den Zeilen dahinter.
Danke für Eure Hinweise
Gruß Jörg
@ Moderatoren
Ich würde dieses Thema gern nach Calc verschieben.
Im Grunde geht es ja um "bedingte Formatierung". Diese per Makro zu tun, kann ich mir ja später mal ansehen.
Ich hänge die Datei geändert nochmal dran, damit deutlich wird was ich erreichen möchte.
Die Formel
z.Bsp. für Spalte A ist glaube ich eine Möglichkeit.
Code: Alles auswählen
=ZÄHLENWENN(A1:A600;A1)>1
Code: Alles auswählen
=ZÄHLENWENN(A1:A600;A1)>=2
Aber, die sucht mir bsp.weise alle Müllers und markiert mir je nach Vorlage einen davon oder zwei(?)
Mein Anliegen ist, alle Müllers mit gleichem Vornamen zu markieren und anschließend alle gleichen Datumsangaben in den Zeilen dahinter.
Danke für Eure Hinweise
Gruß Jörg
Gruß Jörg
Win 10 Pro AOO 4.1.15
Win 10 Pro AOO 4.1.15
Re: Doppelte Einträge markieren
Hallo,
hier eine Lösungsvariante per bedingter Formatierung.
hier eine Lösungsvariante per bedingter Formatierung.
- Dateianhänge
-
- Doppelte_Eintraege_1.ods
- (67.39 KiB) 940-mal heruntergeladen
Gruß,
mikeleb
mikeleb
Re: Doppelte Einträge markieren
Hallo mikeleb,
einfach genial.
Vielen, vielen Dank.
Schönes Wochenende !!
Gruß Jörg
einfach genial.

Vielen, vielen Dank.
Schönes Wochenende !!
Gruß Jörg
Gruß Jörg
Win 10 Pro AOO 4.1.15
Win 10 Pro AOO 4.1.15
Re: Doppelte Einträge markieren
Hallo mikeleb,
beim Übertragen ins Orginaldokument ist mir folgendes aufgefallen.
1. Den Zellbereich in Deiner Formel (A2:A38;B2:B38) habe ich auch auf leere Zellen erweitert. Im Dateianhang bis 45.
Nun werden diese Zellen eingefärbt, obwohl sie leer sind. Das läßt sich wie von Dir gelernt abfangen.
1. Bedingung
2. Die Leerzellen im Bereich C2:M45 kommen ohne die o.g. Bedingung aus. Warum ist das so?
3. Folgende Frage bezieht sich auf mein Orginaldokument. Auch die Spalten C:M.
In diesem Bereich haben alle Zellen das Zahlenformat Datum TT.MM.JJ. In den "leeren" Zellen steht 30.12.99 (entspricht 0)
Weil ich unter Einstellungen Nullwerte ausblenden gewählt habe, erscheinen diese Zellen natürlich leer.
Weil sie aber nicht leer sind, werden sie mitformatiert.
Möglicherweise ist das ein Kopierproblem ?
Ich übertrage die Datumsangaben per Makro in die Tabelle. Der Code dazu:
Möglicherweise muß im Code was geändert werden ?
Würde mich über weitere Hilfe sehr freuen.
Gruß Jörg
beim Übertragen ins Orginaldokument ist mir folgendes aufgefallen.
1. Den Zellbereich in Deiner Formel (A2:A38;B2:B38) habe ich auch auf leere Zellen erweitert. Im Dateianhang bis 45.
Nun werden diese Zellen eingefärbt, obwohl sie leer sind. Das läßt sich wie von Dir gelernt abfangen.
1. Bedingung
Code: Alles auswählen
ODER(ISTLEER($A2);ISTLEER($B2))
3. Folgende Frage bezieht sich auf mein Orginaldokument. Auch die Spalten C:M.
In diesem Bereich haben alle Zellen das Zahlenformat Datum TT.MM.JJ. In den "leeren" Zellen steht 30.12.99 (entspricht 0)
Weil ich unter Einstellungen Nullwerte ausblenden gewählt habe, erscheinen diese Zellen natürlich leer.
Weil sie aber nicht leer sind, werden sie mitformatiert.
Möglicherweise ist das ein Kopierproblem ?
Ich übertrage die Datumsangaben per Makro in die Tabelle. Der Code dazu:
Code: Alles auswählen
sub Alle_Daten
odoc = ThisComponent
osheet = odoc.sheets(2)
Dim Datum as String
Dim Kasse as String
Datum = oSheet.getCellRangeByName("C14").STRING
Kasse = oSheet.getCellRangeByName("E12").STRING
if Datum = "" then
msgbox("Behandlungsdaten fehlen!",0,"Gesamtliste")
exit sub
else
if Kasse = "privat" then
msgbox ("Nur Kassenpatienten",0, "Gesamtliste")
exit sub
end if
end if
orange = osheet.getCellRangeByName("H39:Z39")
orangeAddress = orange.getrangeaddress
odata()= orange.getdataarray
oZielSheet = oDoc.sheets(13)
c = oZielSheet.getCellRangeByName("A1:A5000").queryEmptyCells
oZielCell = c(0).getcellbyposition(0,0)
oZielCellAddress = oZielCell.getcelladdress
X1=oZielCellAddress.column
Y1=oZielCellAddress.row
X2=oZielCellAddress.column+(orangeAddress.EndColumn-orangeAddress.StartColumn)
Y2=oZielCellAddress.Row+(orangeAddress.EndRow-orangeAddress.StartRow)
oZielrange=oZielSheet.getCellRangeByPosition(X1,Y1,X2,Y2)
oZielrange.setdataarray(odata())
rem-----------------------------------------------------------------------------------------
oCellRange = osheet.getCellRangeByName("C14:C21")
ocellRange.clearContents(com.sun.star.sheet.CellFlags.DATETIME)
end sub
Würde mich über weitere Hilfe sehr freuen.
Gruß Jörg
Gruß Jörg
Win 10 Pro AOO 4.1.15
Win 10 Pro AOO 4.1.15
Re: Doppelte Einträge markieren
Hallo,
zu 1.) Die Färbung leere Zellen lässt sich durch folgende Erweiterung der Bedingung vermeiden:
zu 2.) Die Bedingung hier lautet:
Durch die Bedingung ISTZAHL(C2) werden Zellen ohne Zahl übergangen und durch den neuen Zusatz C2>0 werden nun auch Nullwerte übergangen.
(Übergangen, weil durch die Bedingung das ganze Summenprodukt Null wird und damit nicht mehr >1 werden kann.)
zu 3.) Ein Kopierfehler sicher nicht. Nullwerte werden als Nullwerte kopiert. Verhindern kannst du das nur, wenn in den Quelldaten keine Nullwerte auftauchen oder du ergänzt folgende Codezeilen
nach
zu 1.) Die Färbung leere Zellen lässt sich durch folgende Erweiterung der Bedingung vermeiden:
Code: Alles auswählen
SUMMENPRODUKT($A$2:$A$45=$A2;$B$2:$B$45=$B2)*NICHT(ODER(ISTLEER($A2);ISTLEER($B2)))>1
Code: Alles auswählen
SUMMENPRODUKT(($A$2:$A$45=$A2)*($B$2:$B$45=$B2)*($C$2:$M$45=C2)*ISTZAHL(C2)*(C2>0))>1
(Übergangen, weil durch die Bedingung das ganze Summenprodukt Null wird und damit nicht mehr >1 werden kann.)
zu 3.) Ein Kopierfehler sicher nicht. Nullwerte werden als Nullwerte kopiert. Verhindern kannst du das nur, wenn in den Quelldaten keine Nullwerte auftauchen oder du ergänzt folgende Codezeilen
Code: Alles auswählen
for i=lbound(odata(0)) to ubound(odata(0))
if odata(0)(i)=0 then odata(0)(i)=""
next
nach
Code: Alles auswählen
odata()= orange.getdataarray
- Dateianhänge
-
- Doppelte_Eintraege_3.ods
- (66.82 KiB) 92-mal heruntergeladen
Gruß,
mikeleb
mikeleb
Re: Doppelte Einträge markieren
Hallo,
jetzt ist alles chic.
Habe auch den Codeabschnitt ins Makro eingefügt. Klappt auch bestens.
Danke nochmal und schönes WE
jetzt ist alles chic.
Habe auch den Codeabschnitt ins Makro eingefügt. Klappt auch bestens.
Danke nochmal und schönes WE
Gruß Jörg
Win 10 Pro AOO 4.1.15
Win 10 Pro AOO 4.1.15
Re: Doppelte Einträge markieren
Hallo,
mit Hilfe von Dannenhöfer versuche ich in Spalte C die bedingte Formatierung (Einträge älter als 3 Monate) per Makro einzufügen.
Die Formatierung manuell eingegeben funktioniert. Nur das Makro nicht
Gruß Jörg
mit Hilfe von Dannenhöfer versuche ich in Spalte C die bedingte Formatierung (Einträge älter als 3 Monate) per Makro einzufügen.
Die Formatierung manuell eingegeben funktioniert. Nur das Makro nicht

Code: Alles auswählen
Sub alte_eintraege
Dim oCell as Object
Dim oConditionalForm as Object
oCell = ThisComponent.Sheets(0).getCellRangeByName("RezDat")
'$Tabelle1.$C$2:$C$45
oConditionalForm = oCell.ConditionalFormat
Dim oCondition(3) as New com.sun.star.beans.PropertyValue
oCondition(0).Name = "Operator"
oCondition(0).Value = com.sun.star.sheet.ConditionOperator.FORMULA
oCondition(1).Name = "Formula1"
oCondition(1).Value = "=Bed1"
'ODER(ISTLEER(C2))
oCondition(2).Name = "StyleName"
oCondition(2).Value = "Standard"
oConditionalForm.addNew( oCondition() )
oCondition(0).Value = com.sun.star.sheet.ConditionOperator.FORMULA
oCondition(1).Name = "Formula2"
oCondition(1).Value = "=Bed2"
'C2<DATUM(JAHR(HEUTE());MONAT(HEUTE())-3;TAG(HEUTE()))
oCondition(2).Name = "StyleName"
oCondition(2).Value = "=RezDat"
'Vorlage RezDat
oConditionalForm.addNew( oCondition() )
oCell.ConditionalFormat = oConditionalForm
End Sub
Gruß Jörg
Win 10 Pro AOO 4.1.15
Win 10 Pro AOO 4.1.15
Re: Doppelte Einträge markieren
Hallo, hab noch etwas gestöbert.
Funkt, aber wo ist der Unterschied?
Hatte auch die = bei "=Bed1" rausgenommen.
Na ja.
Code: Alles auswählen
' 2008-01-29
oBlatt = ThisComponent.Sheets.getByName( "Tabelle1" )
oBereich = oBlatt.getCellRangeByName("RezDat" )
' Objekt der gesetzten Bedingungen für diesen Bereich
oBedingungen = oBereich.getPropertyValue( "ConditionalFormat" )
' neue Variable
Dim oBedingung(3) as New com.sun.star.beans.PropertyValue
oBedingung(0).Name = "Operator"
oBedingung(0).Value = com.sun.star.sheet.ConditionOperator.FORMULA
oBedingung(1).Name = "Formula1"
oBedingung(1).Value = "Bed1"
oBedingung(2).Name = "StyleName"
oBedingung(2).Value = "Standard"
' hinzu
oBedingungen.addNew( oBedingung )
oBedingung(0).Name = "Operator"
oBedingung(0).Value = com.sun.star.sheet.ConditionOperator.FORMULA
oBedingung(1).Name = "Formula1"
oBedingung(1).Value = "Bed2"
oBedingung(2).Name = "StyleName"
oBedingung(2).Value = "RezDat"
' hinzu
oBedingungen.addNew( oBedingung )
' anwenden
oBereich.setPropertyValue( "ConditionalFormat", oBedingungen )
End Sub
Hatte auch die = bei "=Bed1" rausgenommen.
Na ja.
Gruß Jörg
Win 10 Pro AOO 4.1.15
Win 10 Pro AOO 4.1.15
Re: Doppelte Einträge markieren
Hinzufügen und wieder entfernen "Bedingte Formatierung"
Gruß Jörg
Win 10 Pro AOO 4.1.15
Win 10 Pro AOO 4.1.15
Re: Doppelte Einträge markieren
Sorry, irgendwas ging schief.
Neuer Versuch.

Neuer Versuch.
Gruß Jörg
Win 10 Pro AOO 4.1.15
Win 10 Pro AOO 4.1.15