von wellmo » Fr, 17.02.2012 21:38
Hi Karo
Ich bin für jeden Tipp und Verbesserungen dankbar.
Auch wenn es für dich "haarsträubend" ausschaut, für mich ist das so im Moment noch übersichtlicher da ich es Schritt für Schritt nachvollziehen kann was passiert.
und das "exit Sub darf glaub nicht sein, da der Code fertig noch weiter geht:
Ich habs nun auch hinbekommen das es so funktioniert wie ich es mir wünsche.
und das Ergebnis sieht so aus:
Code: Alles auswählen
Sub Zahlungskonditionen
with thiscomponent.sheets(1)
sheet = ThisComponent.CurrentController.ActiveSheet
for i = 72 to 120
if .getcellbyposition(1 ,i).string = "Zahlungskonditionen" then exit for
if .getcellbyposition(1 ,i).string = "" then
i=i+1
end if
if .getcellbyposition(1 ,i).string = "" then
.getcellbyposition(1 ,i).string = "Zahlungskonditionen"
exit for
end if
next
textcur=sheet.getcellbyposition(1,i).gettext().createtextcursor()
textcur.gotostart(true)
textcur.CharWeight=com.sun.star.awt.FontWeight.BOLD
if .getcellbyposition(1 ,i).string = "Zahlungskonditionen" then
if thiscomponent.sheets(2).getcellbyposition(7 ,10).string <> "" then
.getcellbyposition(1 ,i+1).formula = "=Listenfelder.D11"
i=i+1
end if
if thiscomponent.sheets(2).getcellbyposition(7 ,11).string <> "" then
.getcellbyposition(1 ,i+1).formula = "=Listenfelder.D12"
i=i+1
end if
if thiscomponent.sheets(2).getcellbyposition(7 ,12).string <> "" then
.getcellbyposition(1 ,i+1).formula = "=Listenfelder.D13"
i=i+1
end if
if thiscomponent.sheets(2).getcellbyposition(7 ,13).string <> "" then
.getcellbyposition(1 ,i+1).formula = "=Listenfelder.D14"
i=i+1
end if
if thiscomponent.sheets(2).getcellbyposition(7 ,14).string <> "" then
.getcellbyposition(1 ,i+1).formula = "=Listenfelder.D15"
i=i+1
end if
if thiscomponent.sheets(2).getcellbyposition(7 ,15).string <> "" then
.getcellbyposition(1 ,i+1).formula = "=Listenfelder.D16"
i=i+1
end if
if thiscomponent.sheets(2).getcellbyposition(7 ,16).string <> "" then
.getcellbyposition(1 ,i+1).formula = "=Listenfelder.D17"
i=i+1
end if
if thiscomponent.sheets(2).getcellbyposition(7 ,17).string <> "" then
.getcellbyposition(1 ,i+1).formula = "=Listenfelder.D18"
i=i+1
end if
if thiscomponent.sheets(2).getcellbyposition(7 ,18).string <> "" then
.getcellbyposition(1 ,i+1).formula = "=Listenfelder.D19"
i=i+1
end if
if thiscomponent.sheets(2).getcellbyposition(7 ,19).string <> "" then
.getcellbyposition(1 ,i+1).formula = "=Listenfelder.D20"
end if
end if
end with
End Sub
Falls du aber für diesen Code verbesserungen hast, werde ich gerne davon lernen.
Gruss
Hi Karo
Ich bin für jeden Tipp und Verbesserungen dankbar.
Auch wenn es für dich "haarsträubend" ausschaut, für mich ist das so im Moment noch übersichtlicher da ich es Schritt für Schritt nachvollziehen kann was passiert.
und das "exit Sub darf glaub nicht sein, da der Code fertig noch weiter geht:
Ich habs nun auch hinbekommen das es so funktioniert wie ich es mir wünsche.
und das Ergebnis sieht so aus:
[code]Sub Zahlungskonditionen
with thiscomponent.sheets(1)
sheet = ThisComponent.CurrentController.ActiveSheet
for i = 72 to 120
if .getcellbyposition(1 ,i).string = "Zahlungskonditionen" then exit for
if .getcellbyposition(1 ,i).string = "" then
i=i+1
end if
if .getcellbyposition(1 ,i).string = "" then
.getcellbyposition(1 ,i).string = "Zahlungskonditionen"
exit for
end if
next
textcur=sheet.getcellbyposition(1,i).gettext().createtextcursor()
textcur.gotostart(true)
textcur.CharWeight=com.sun.star.awt.FontWeight.BOLD
if .getcellbyposition(1 ,i).string = "Zahlungskonditionen" then
if thiscomponent.sheets(2).getcellbyposition(7 ,10).string <> "" then
.getcellbyposition(1 ,i+1).formula = "=Listenfelder.D11"
i=i+1
end if
if thiscomponent.sheets(2).getcellbyposition(7 ,11).string <> "" then
.getcellbyposition(1 ,i+1).formula = "=Listenfelder.D12"
i=i+1
end if
if thiscomponent.sheets(2).getcellbyposition(7 ,12).string <> "" then
.getcellbyposition(1 ,i+1).formula = "=Listenfelder.D13"
i=i+1
end if
if thiscomponent.sheets(2).getcellbyposition(7 ,13).string <> "" then
.getcellbyposition(1 ,i+1).formula = "=Listenfelder.D14"
i=i+1
end if
if thiscomponent.sheets(2).getcellbyposition(7 ,14).string <> "" then
.getcellbyposition(1 ,i+1).formula = "=Listenfelder.D15"
i=i+1
end if
if thiscomponent.sheets(2).getcellbyposition(7 ,15).string <> "" then
.getcellbyposition(1 ,i+1).formula = "=Listenfelder.D16"
i=i+1
end if
if thiscomponent.sheets(2).getcellbyposition(7 ,16).string <> "" then
.getcellbyposition(1 ,i+1).formula = "=Listenfelder.D17"
i=i+1
end if
if thiscomponent.sheets(2).getcellbyposition(7 ,17).string <> "" then
.getcellbyposition(1 ,i+1).formula = "=Listenfelder.D18"
i=i+1
end if
if thiscomponent.sheets(2).getcellbyposition(7 ,18).string <> "" then
.getcellbyposition(1 ,i+1).formula = "=Listenfelder.D19"
i=i+1
end if
if thiscomponent.sheets(2).getcellbyposition(7 ,19).string <> "" then
.getcellbyposition(1 ,i+1).formula = "=Listenfelder.D20"
end if
end if
end with
End Sub[/code]
Falls du aber für diesen Code verbesserungen hast, werde ich gerne davon lernen.
Gruss