Seite 1 von 1
GELÖST Zeichenkette in mehrere Zellen einfügen
Verfasst: Di, 08.04.2014 23:02
von achimgr
Hallo mal wieder,
ich habe folgendes Problem:
Ich markiere in einer Liste die Zellen A5:D5.
Rechtsklick, dadurch wird per Tabellenereignis ein Dialog angezeigt.
In dem Dialog wird 1 Textfeld ausgefüllt.
Problem: Jetzt soll durch Klick auf "OK"-Button der Inhalt des Textfeldes in alle markierten Zellen eingefügt werden.
Wie lautet der Code?
Re: Zeichenkette in mehrere Zellen einfügen
Verfasst: Mi, 09.04.2014 05:25
von F3K Total
Hi,
ein Beispiel
Code: Alles auswählen
Sub Main
stext = inputbox ("Text","Text")
oSel = thiscomponent.currentselection
if oSel.supportsservice("com.sun.star.sheet.SheetCellRange") then
adata = oSel.dataArray
for i = 0 to ubound(adata)
for k = 0 to ubound(adata(i))
adata(i)(k) = stext
next k
next i
oSel.setdataArray(adata)
endif
End Sub
HTH R
Re: Zeichenkette in mehrere Zellen einfügen
Verfasst: Mi, 09.04.2014 10:38
von achimgr
Moin Rik,
vielen Dank, das klappt super. Das liest sich wieder so kompliziert - ich kapier das leider nicht. Danke, dass Du so nett bist mir Deine Zeit zu 'opfern' und mir diesen fertigen Code gibst! Ich habe schon einiges von Deinen Tipps nutzen können! Noch eine schöne Woche,
Re: GELÖST Zeichenkette in mehrere Zellen einfügen
Verfasst: Mi, 09.04.2014 18:30
von F3K Total
Das ist ganz einfach:
... weise die Eingabe aus der Box der Variable
stext zu
... weise die aktuelle Auswahl (markierte Zellen) der Variable
osel zu
Code: Alles auswählen
if oSel.supportsservice("com.sun.star.sheet.SheetCellRange") then
... wenn es sich bei der aktuellen Auswahl um einen Bereich von Zellen handelt
... weise die Daten in den Zellen der Variable
aData zu, aData ist ein Feld, mit soviel Zeilen und Spalten wie sie der ausgewählte Zellbereich hat
Code: Alles auswählen
for i = 0 to ubound(adata)
for k = 0 to ubound(adata(i))
adata(i)(k) = stext
next k
next i
... weise jedem Feld von
aData (Zeilen von 0 bis zur Obergrenze, Spalten von 0 bis zur Obergrenze, den Inhalt von
sText zu
... schreibe das Datenfeld in die Auswahl von Zellen zurück.
Klarer?
Gruß R
Re: GELÖST Zeichenkette in mehrere Zellen einfügen
Verfasst: Do, 10.04.2014 14:40
von achimgr
Moin Moin, ja deutlich klarer, vielen Dank für die Erklärung.