alle leeren zellen finden und markieren

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

schnubber
**
Beiträge: 33
Registriert: Fr, 25.03.2011 09:46

alle leeren zellen finden und markieren

Beitrag 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
Zuletzt geändert von schnubber am Fr, 08.04.2011 09:21, insgesamt 3-mal geändert.
schnubber
**
Beiträge: 33
Registriert: Fr, 25.03.2011 09:46

Re: alle leeren zellen finden und markieren[fertig]

Beitrag 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 =)
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: alle leeren zellen finden und markieren[fertig]

Beitrag 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.
schnubber
**
Beiträge: 33
Registriert: Fr, 25.03.2011 09:46

Re: alle leeren zellen finden und markieren[fertig]

Beitrag 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 ^^
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: alle leeren zellen finden und markieren[fertig]

Beitrag 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?
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: alle leeren zellen finden und markieren[fertig]

Beitrag 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
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
schnubber
**
Beiträge: 33
Registriert: Fr, 25.03.2011 09:46

Re: alle leeren zellen finden und markieren[fertig]

Beitrag 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 =)
Zuletzt geändert von schnubber am Do, 07.04.2011 14:17, insgesamt 2-mal geändert.
schnubber
**
Beiträge: 33
Registriert: Fr, 25.03.2011 09:46

Re: alle leeren zellen finden und markieren[fertig]

Beitrag 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 ^^
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: alle leeren zellen finden und markieren[fertig]

Beitrag 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
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
schnubber
**
Beiträge: 33
Registriert: Fr, 25.03.2011 09:46

Re: alle leeren zellen finden und markieren[fertig]

Beitrag von schnubber »

jetz klappts =),karo
schnubber
**
Beiträge: 33
Registriert: Fr, 25.03.2011 09:46

Re: alle leeren zellen finden und markieren

Beitrag 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?
Antworten