BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das OpenOffice Forum zu erhalten!
> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des OpenOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als OO-SUPPORTER gekennzeichnet. 🤗
Alles zur Programmierung im OpenOffice.org
-
eXaminer
- Beiträge: 2
- Registriert: Mi 17. Jun 2020, 20:49
Beitrag
von eXaminer » Mo 22. Jun 2020, 20:10
Hallo, wie man am Code wahrscheinlich sehen kann bin ich ein absoluter Anfänger. Mein Problem liegt jetzt bei Zeile 32. Und zwar kann es sein das die Variable "oInhalt7" mir 0 zurückgibt und ich dann im Satz danach einen Laufzeitfehler bekomme. Meine Vermutung wäre jetzt das ich die Schleife zurückspringen lassen muss um in die nächste Runde zu gelangen. Ich hab aber keine Ahnung wie ich das zurückstelle.
Code: Alles auswählen
sub main
dim oDesktop
dim oDoc
dim osheet
odoc=thiscomponent
oSheet = ThisComponent.sheets.getByName("Bedarfsplan")
'Suche feste Inhalte
oInhalt = "Geräteleistung"
oInhalt1 = "pca22"
'oFunctionAccess = createUnoService( "com.sun.star.sheet.FunctionAccess" )
'oInhalt=inputbox("Erste Suchbegriff")
'oInhalt1=inputbox("sweite Suchbegriff")
x = oSheet.Columns(1).queryEmptyCells()
z = x(x.Count-1).RangeAddress.StartRow
for n = 2 to z
oReturn = oSheet.getCellRangeByName("B"+ n)
oInhalt2 = oReturn.getstring()
If oInhalt2 = oInhalt Then
oReturn1 = oSheet.getCellRangeByName("T"+ n)
oInhalt3 = oReturn1.getstring()
oInhalt7 = InSTR(1,oInhalt3,oInhalt1)
oInhalt8 = mid(oInhalt3,oInhalt7,5)
if oInhalt8 = oInhalt1 Then
oRange = oSheet.getCellRangeByName("A"+n+":Y"+n)
oDoc.CurrentController.Select(oRange)
oRangeAddress = oDoc.CurrentController.getTransferable
x = oSheet.Columns(45).queryEmptyCells()
z1 = x(x.Count-1).RangeAddress.StartRow
oCell = oSheet.getCellRangeByName("AF"+(z1+1))
oDoc.CurrentController.Select(oCell)
oDoc.CurrentController.insertTransferable(oRangeAddress)
end If
end If
next
End Sub
Kann mir da jemand helfen............ ?
Gruß Marcus
-
mikele
- Beiträge: 771
- Registriert: Sa 23. Jul 2011, 22:09
Beitrag
von mikele » Do 25. Jun 2020, 22:03
Hallo,
so ganz verstehe ich deinen Code nicht:
Code: Alles auswählen
oReturn1 = oSheet.getCellRangeByName("T"+ n)
oInhalt3 = oReturn1.getstring()
oInhalt7 = InSTR(1,oInhalt3,oInhalt1)
oInhalt8 = mid(oInhalt3,oInhalt7,5)
if oInhalt8 = oInhalt1 Then
Du schaust in jeder Zelle der Spalte T, ob deren String den Teilsstring "pca22" enthält. Wenn ja dann ...
Das sollte mit folgendem vereinfachten Code möglich sein:
Code: Alles auswählen
oReturn1 = oSheet.getCellRangeByName("T"+ n)
oInhalt3 = oReturn1.getstring()
if InStr(oInhalt3,oInhalt1)>0 Then
Auf den ersten Parameter bei Instr() kannst du verzichten (ist standardmäßig 1).
Gruß,
mikele