Seite 1 von 1

Makro doppelte daten markieren statt löschen[erledigt]

Verfasst: Di, 05.04.2011 13:37
von schnubber
hi leute,
hab einen folgenden script da, dieser hat die aufgabe mittels eines makros doppelte/dreifache/vierfache daten zu finden und zu löschen, allerdings nicht alle sondern wenn zb 5 daten gleich sind werden 4 gelöscht und 1 bleibt da(währe ja sonst schlimm wenn er alle löschen würde xD) ich will aber dass er mir alle zellen mit duplikaten nicht löscht sondern nur mit ner farbe markiert ...und zwar alle hat jemand ne idee? (durchsucht spalte a)

script :

Code: Alles auswählen

Sub duplikateFiltern
   odoc=thiscomponent
   oSheet = oDoc.CurrentController.getActiveSheet()
   myrows=oSheet.getrows
   oCellCursor = oSheet.createCursor()
   oCellCursor.GotoEndOfUsedArea(True)
   letzte_Zeile = oCellCursor.getRangeAddress.EndRow
   k = 0
   for i = 0 to letzte_Zeile
   text1 = osheet.getcellbyposition(0,i).string
   for j = i + 1 to letzte_Zeile
   text2 =osheet.getcellbyposition(0,j).string
   if   text1 = text2 then
   myrows.removebyindex(j,1)
   letzte_Zeile = oCellCursor.getRangeAddress.EndRow
   j = j - 1
   k = k + 1
   end if   
   next j
   next i
   
End Sub
gruß
schnubber

Re: Makro doppelte daten markieren statt löschen

Verfasst: Di, 05.04.2011 14:58
von DPunch
Aloha

Für Deinen Lösungsweg würde das simple Ersetze von

Code: Alles auswählen

myrows.removebyindex(j,1)
durch

Code: Alles auswählen

osheet.getcellbyposition(0,j).CellBackColor = RGB(255,0,0)
wohl reichen.
Das runter- bzw. hochzählen musst Du dann natürlich rausnehmen, da keine Zeilen mehr gelöscht werden.

Re: Makro doppelte daten markieren statt löschen

Verfasst: Di, 05.04.2011 15:10
von DPunch
Diese 3 Zeilen müssen dann raus

Code: Alles auswählen

   letzte_Zeile = oCellCursor.getRangeAddress.EndRow
   j = j - 1
   k = k + 1

Re: Makro doppelte daten markieren statt löschen

Verfasst: Di, 05.04.2011 15:11
von schnubber
habs raus , dankesehr hatte das mit cellbackcolor auch vor aber allerdings an nem falschen object =( aber nu klappt alles