Seite 1 von 1

alle leeren zellen finden und markieren

Verfasst: Do, 07.04.2011 13:08
von schnubber
Tag leute,
habn folgendes problem
ich habe ein makro da was mir die leeren zellen findet und markiet und jetzt kommt das "aber"
aber ich muss jedes mal die zellrange definieren(bei jeder neuen tabelle

kann man das irrgendwie so hin biegen dass der script alle gefüllten bis zur lezten gefüllten zelle im dokument duchgeht ,sich die zelle mit der höchsten zeilennummer schnappt und sich das automatisch als zellrange/arbeitsbereich selbst definiert.wenn er das fertig hat kann der mit dem fären anfangen ^^
geht sowas ? wenn ja , wie?
hier mein script :

Code: Alles auswählen

 Sub leereZellenFinden
   Dim oDoc As Object
   Dim oSheet As Object
   Dim oSearch As Object, oResult As Object         'Replace Descriptor (ScCellSearchObj)
   Dim oFound As Object, oFoundCursor as Object
   Dim n As Long
   Dim oDataArry As Object
   'dokument anlabern
   oDoc = ThisComponent
   oSheet = oDoc.Sheets.getByIndex(0)
   'cellrange sagen
   oCellRange = oSheet.getCellRangeByName("A1:A99")

   
   
   'Erstmal alles rot machen
   oCellrange.CellBackColor = RGB(255,0,0)
   'wo was drin steht weiss machen
   oSearch = oCellRange.createSearchDescriptor
   oSearch.SearchString = "[a-z]"
   oSearch.SearchRegularExpression = TRUE
   oResult = oSheet.findAll(oSearch)
   For n = 0 To oResult.count - 1
       oFound = oResult(n)
       oFound.CellBackColor = RGB(255,255,255)
   Next n
   End Sub


  
Danke voraus
Gruß Schnubber

Re: alle leeren zellen finden und markieren[fertig]

Verfasst: Do, 07.04.2011 13:27
von schnubber

Code: Alles auswählen

Sub leerezellennullen()
oSelect=ThisComponent.CurrentSelection
oColumn=oselect.Columns
oRow=oSelect.Rows
For n= 0 To oColumn.getCount-1
For m = 0 To oRow.getCount-1
oCell=oselect.getCellByPosition (n, m)
Select Case oCell.String
Case ""
oCell.cellbackcolor = RGB(250,250,0)
End Select
next
next
End Sub

selber rausbekommen =)

Re: alle leeren zellen finden und markieren[fertig]

Verfasst: Do, 07.04.2011 13:36
von DPunch
Aloha
schnubber hat geschrieben:selber rausbekommen =)
Damit durchsuchst Du natürlich nur den markierten Bereich.
Wie Du die Zeile der letzten gefüllten Zelle herausfindest, steht in Deinem eigenen Code, und zwar Hier.

Re: alle leeren zellen finden und markieren[fertig]

Verfasst: Do, 07.04.2011 13:47
von schnubber
DPunch hat geschrieben:Aloha
schnubber hat geschrieben:selber rausbekommen =)
Damit durchsuchst Du natürlich nur den markierten Bereich.
Wie Du die Zeile der letzten gefüllten Zelle herausfindest, steht in Deinem eigenen Code, und zwar Hier.
an welchem part genau? ....is net direkt mein eigener script xd ...der is halb geklaut ^^

Re: alle leeren zellen finden und markieren[fertig]

Verfasst: Do, 07.04.2011 13:55
von DPunch
Aloha

Wenn es schon bei solchen Kleinigkeiten holprig wird, solltest Du Dich möglicherweise mal hier umschauen:
Starbasic FAQ: 7.3.14 Wie kann man die letzte verwendete Zeile/Spalte ermitteln?

Re: alle leeren zellen finden und markieren[fertig]

Verfasst: Do, 07.04.2011 14:00
von Karolus
Hallo
Oder so?

Code: Alles auswählen

sub color_BlankCells
orange = thiscomponent.currentselection
onew = orange.queryEmptyCells
onew.cellbackcolor = rgb(250,250,0)
end sub
Karo

Re: alle leeren zellen finden und markieren[fertig]

Verfasst: Do, 07.04.2011 14:03
von schnubber
ja woah nice ,dankeich such die ganze zeit schon nach solchen tutorials
hab eigentlich gerade erst angefangen mit programmieren und so, bin da voll der noob drin, aber im betrieb werden bei mir schon volle makros verlangt und so kommts dass ich das buch bei seite 100 angefangen habe zu lesen =(
ich hoffe eines tages kann ich den leuten hier im forum mi meinem wissen helfen =)

Re: alle leeren zellen finden und markieren[fertig]

Verfasst: Do, 07.04.2011 14:08
von schnubber
Karolus hat geschrieben:Hallo
Oder so?

Code: Alles auswählen

sub color_BlankCells
orange = thiscomponent.currentselection
onew = orange.queryEmptyCells
onew.cellbackcolor = rgb(250,250,0)
end sub
Karo
karo, bei deinem vorschlag kommt error es ist eine excepion aufgetreten com.sun.star.uno....den script den ich habe hab ich von dir abgeguckt aber aus nem anderen forum....bzw da heißt auch einer karlos und kürzt sich mit karo ab...und hat basic ahnung ^^

Re: alle leeren zellen finden und markieren[fertig]

Verfasst: Do, 07.04.2011 14:46
von Karolus
Hallo
...excepion aufgetreten com.sun.star.uno.runtime.exception
?
Die Methode greift nicht bei Formelzellen die leer sind ... onew ist vmtl bei dir daher 'leer' und wirft die Fehlermeldung.

Code: Alles auswählen

sub sub_color_BlankCells
orange = thiscomponent.currentselection
onew = orange.queryEmptyCells

on error goto out:
onew.cellbackcolor =  rgb(250,250,0)
out:
end sub
Gruß Karo

Re: alle leeren zellen finden und markieren[fertig]

Verfasst: Do, 07.04.2011 14:54
von schnubber
jetz klappts =),karo

Re: alle leeren zellen finden und markieren

Verfasst: Do, 07.04.2011 15:46
von schnubber
angenommen ich würde nich im markierten bereicharbeiten wollen sondern in einer kompletten spalte und die leerzellen sollen nur bis zur letzt verwendeten zelle in der spalte markiert werden, sprich die leerzellen die nach der zuletzt verwendeten zelle kommen werden weiss gelassen. was müsste man umschreiben?