Makro doppelte daten markieren statt löschen[erledigt]

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Makro doppelte daten markieren statt löschen[erledigt]

Re: Makro doppelte daten markieren statt löschen

von schnubber » Di, 05.04.2011 15:11

habs raus , dankesehr hatte das mit cellbackcolor auch vor aber allerdings an nem falschen object =( aber nu klappt alles

Re: Makro doppelte daten markieren statt löschen

von DPunch » Di, 05.04.2011 15:10

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

von DPunch » Di, 05.04.2011 14:58

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.

Makro doppelte daten markieren statt löschen[erledigt]

von schnubber » Di, 05.04.2011 13:37

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

Nach oben