Calc Makro zum suchen und einfügen

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

Moderator: Moderatoren

MT326
Beiträge: 5
Registriert: Mi, 28.08.2024 09:24

Calc Makro zum suchen und einfügen

Beitrag von MT326 »

Hallo erst mal...

ich bin dabei mir ein Calc Makro zu basteln und komm nicht weiter.
Vielleicht habt ihr eine Idee wie man es lösen kann.
Das Makro soll in der 3. Tabelle im Bereich (B4:B64) nach einem Zahlenwert suchen.
Wenn der Wert vorhanden ist dann zu der Zelle springen.
Wenn der Wert nicht vorhanden ist dann in der ersten freien Zelle im Bereich (B4:B64)
den gesuchten Wert eintragen und zu dieser Zelle springen.

Ich habe beides getrennt von einander hinbekommen.
Ich schaffe es aber nicht es zusammen in ein Makro zu basteln.

Dieses Makro schreibt in die erste freie Zelle in Spalte B ist aber nicht auf den Bereich beschränkt(habs nicht hinbekommen):

Sub Artikelnummer

Dim oZielzelle As Object

sArtikel=Inputbox("Artikelnummer")

oDoc = thisComponent
oView = oDoc.CurrentController
oTab=ThisComponent.Sheets(2)
'Ermittlung der ersten freien Zeile in Spalte b
nZeile=oTab.Columns(1).queryEmptyCells.RangeAddresses(0).startrow
oZielzelle = oTab.getCellByPosition(1,nZeile)
oZielzelle.value = sArtikel
oView.Select(oZielzelle)
End Sub


Diese Makro sucht im gewünschten Bereich und springt wenn vorhanden zu der Zelle mit dem Wert:

Sub Suchen

sArtikel=Inputbox("Artikelnummer")

odoc = thiscomponent
oSheet = oDoc.Sheets(2).getCellRangeByPosition( 1, 3, 1, 63 )
oSearchDescriptor = oSheet.createSearchDescriptor()
oSearchDescriptor.Searchstring = sArtikel
oFound = oSheet.FindFirst(oSearchDescriptor)
odoc.CurrentController.Select(oFound)

End Sub
mikeleb
*******
Beiträge: 1338
Registriert: Fr, 09.12.2011 16:50

Re: Calc Makro zum suchen und einfügen

Beitrag von mikeleb »

Hallo,

Code: Alles auswählen

Sub Suchen
	sArtikel=Inputbox("Artikelnummer")
	
	odoc = thiscomponent
	oSheet = oDoc.Sheets(0).getCellRangeByPosition( 1, 3, 1, 63 )
	oSearchDescriptor = oSheet.createSearchDescriptor()
	oSearchDescriptor.Searchstring = sArtikel
	oFound = oSheet.FindFirst(oSearchDescriptor)
	odoc.CurrentController.Select(oFound)
	if  isnull(oFound) then
		oZelle=osheet.queryemptycells.getbyindex(0).getCellByPosition(0,0)
		ozelle.string=sArtikel
		odoc.CurrentController.Select(oZelle)
	end if
End Sub
Gruß,
mikeleb
MT326
Beiträge: 5
Registriert: Mi, 28.08.2024 09:24

Re: Calc Makro zum suchen und einfügen

Beitrag von MT326 »

Vielen Vielen Dank....
Problem gelöst....
Gruß MT326
Antworten