Seite 1 von 2
Bereich mit Wert oder String füllen
Verfasst: Mo, 16.08.2010 13:40
von clag
Hallo Leutz
wie bzw mit welchem Basic-Konstrukt kann ich einem Bereich einen einheitlichen wert zuweisen
zum Inhalte entfernen habe ich das hier hingefummelt
Code: Alles auswählen
oCellRange = thiscomponent.Sheets().getByName("Tabelle1").getcellrangebyposition(0,myvalue01,0,myvalue02)
clearContents(com.sun.star.sheet.CellFlags.VALUE)
aber wie bekomme ich auf diese oder ähnliche Weise Werte oder Text in die Zellen hinein ?
also ich meine natürlich in alle Zellen des Bereiches den gleichen Wert oder String
Danke ...
Re: Bereich mit Wert oder String füllen
Verfasst: Mo, 16.08.2010 15:09
von bst
Hi,
nimm vielleicht setDataArray.
HTH, Bernd
--
Code: Alles auswählen
Sub x
dim iStartRow as integer, iEndRow as integer, i as integer, j as integer
dim ar, oCellRange as object
dim strVal As String
strVal = "Hallo"
iStartRow = 3 ' Zeile 4
iEndRow = 9 ' Zeile 10
oCellRange = thiscomponent.Sheets().getByName("Tabelle1").getcellrangebyposition(0,iStartRow,0,iEndRow)
'ar = oCellRange.getDataArray
ReDim ar(0 to iEndRow - iStartRow)
for i = 0 to iEndRow - iStartRow
ar(i) = Array(strVal)
next
oCellRange.setDataArray(ar)
End Sub
Re: Bereich mit Wert oder String füllen
Verfasst: Mo, 16.08.2010 16:01
von komma4
Nimm vor allem einen BEREICH und nicht jede Zelle einzeln.
Dann ist der Hinweis auf setDataArray auch angebracht.
@clag: Du bist nun lange genug hier, um die FORENSUCHE zu kennen. Auch Tante Google hilft Dir weiter.
Du hast keine "neuen" Probleme (bei der Programmierung), sondern Standardfragen.
Die sind seit Jahren beantwortet.
Lese mal etwas mehr.
ICH jedenfalls habe keine Lust mehr Dir alles vorzukauen.
Viel Erfolg!
Re: Bereich mit Wert oder String füllen
Verfasst: Mo, 16.08.2010 16:14
von clag
Hi,
es scheint mir ich habe mich irgendwie missverständlich ausgequetscht
also ich möchte auf einen Schlag in einer Spalte einen durchgehenden Bereich zB A1:A200 leeren ok das kriege ich hin
und dann, einen Teil davon wieder auf einen Schlag mit Einsen füllen zB A50:A120
und das soll möglichst schnell gehen ......... (leo leo

Re: Bereich mit Wert oder String füllen
Verfasst: Mo, 16.08.2010 16:20
von Karolus
Hallo
Bernd hat schon hingeschrieben wie das geht.
Gruß Karo
Re: Bereich mit Wert oder String füllen
Verfasst: Mo, 16.08.2010 16:54
von clag
Hi
@ komma4
wenn es danach ginge dann müsste hier der Zutritt für Anfänger wie mich gesperrt werden
denn auch in drei Jahren werden die, die in dem Bereich etwas lernen wollen die selben Fragen haben und auch stellen !
Was würdest du sagen wenn ein Grundschullehrer alle seine Schüler wieder nach Hause schickt
weil er keine Lust hat etwas zu wiederholen und sagt lest in Google nach, da steht alles ?
natürlich man kann alles irgendwo nachlesen
wozu gibt es bloß noch Schulen und Uni's da wird doch auch nur alles wiederholt,
die könnte man doch eigentlich auch zumachen ..............
solche Aussagen finde ich bedauerlich denn es hilft dem Fragenden rein gar nichts !
und vor allem wo ist das Problem bei wiederholten Fragen ?
Re: Bereich mit Wert oder String füllen
Verfasst: Mo, 16.08.2010 17:37
von sven-my
Hallo Leute,
auch ich suche mich seit Stunden kaputt, nach einer Möglichkeit per Makro einen variablen Bereich zu leeren, um ihn dann neu zu schreiben.
Wegen dieser oftmaligen Nörgelei, es sein schon irgendwo beschrieben, habe ich mir das Fragen verkniffen.
Durch ein RSS-Abo bin ich auf dieen Beitrag gestoßen.
Hallo clag,
clag hat geschrieben:auf einen Schlag in einer Spalte einen durchgehenden Bereich zB A1:A200 leeren ok das kriege ich hin
kannst Du mir das mal zuschicken ?
Reinschreiben kann ich schon

- Sheetnamen per Schleife, die alten Sheetnamen lösche ich bisher auch über eine Schleife, was aber dauerd.
Einfach drüberschreiben bringt es nicht, wenn eine Tabelle gelöscht wurde.
gruß
sven-my
Re: Bereich mit Wert oder String füllen
Verfasst: Mo, 16.08.2010 17:43
von clag
Hi ,
das bisschen was ich habe/kenne teil ich gern
das funktioniert nicht wenn in dem Bereich Teile ausgeblendet sind,
man muss also ggf den Bereich erst wieder komplett einblenden .......
Code: Alles auswählen
oCellRange = thiscomponent.Sheets().getByName("Tabelle 1").getcellrangebyposition(19,1,19,401)
ocellRange.clearContents(com.sun.star.sheet.CellFlags.VALUE)
' oCalc = thisComponent
' oSheet = oCalc.sheets(0)
' oCellRange = osheet.getCellRangeByName("A2:B5")
' ocellRange.clearContents(com.sun.star.sheet.CellFlags.VALUE_
' +com.sun.star.sheet.CellFlags.STRING_
' +com.sun.star.sheet.CellFlags.DATETIME)
' ocell=osheet.getcellbyposition(0,0)
' ocell.clearContents(com.sun.star.sheet.CellFlags.VALUE_
' +com.sun.star.sheet.CellFlags.STRING_
' +com.sun.star.sheet.CellFlags.DATETIME)
' ClearContents benötigt Parameter mit den bestimmt werden welche Inhallte oder Formatierungen gelöscht werden sollen.
' Diese Parameter werden durch "+" kombiniert
Re: Bereich mit Wert oder String füllen
Verfasst: Mo, 16.08.2010 20:26
von sven-my
Hallo clag,
herzlichen Dank !
Die ersten beiden Zeilen reichten schon aus (nach etwas Anpassung), um zu erreichen, was ich wollte.
Code: Alles auswählen
oCellRange = thiscomponent.Sheets().getByName("helpme").getcellrangebyposition(9,9,9,30)
ocellRange.clearContents(com.sun.star.sheet.CellFlags.STRING)
sven-my hat geschrieben:Diese Parameter werden durch "+" kombiniert
Heißt das, wenn Zahlen und/oder Text im Bereich enthalten sind, muß es so aussehen ? :
Code: Alles auswählen
ocellRange.clearContents(com.sun.star.sheet.CellFlags.STRING+com.sun.star.sheet.CellFlags.VALUE)
gruß
sven-my
Re: Bereich mit Wert oder String füllen
Verfasst: Mo, 16.08.2010 20:58
von clag
hi sven-my
mein "Selbstversuch" am lebenden Objekt "ZoomDiagramm" hat gerade deine Vermutung bestätigt
jetzt musst du aber zeigen wie ich meinen Wert da wieder rein kriege ...............
Re: Bereich mit Wert oder String füllen
Verfasst: Mo, 16.08.2010 21:12
von sven-my
Hallo clag,
da fragst Du aber den Falschen --- bin froh, wenn ich mehr als zwei Zeilen zu Laufen kriege.
gruß
sven-my
Re: Bereich mit Wert oder String füllen
Verfasst: Di, 17.08.2010 12:24
von DPunch
Aloha
clag hat geschrieben:jetzt musst du aber zeigen wie ich meinen Wert da wieder rein kriege ...............
Karolus hat geschrieben:Hallo
Bernd hat schon hingeschrieben wie das geht.
Gruß Karo
...und das sogar mit einem mehr oder weniger direkt auf Deine Frage passenden Codebeispiel

Re: Bereich mit Wert oder String füllen
Verfasst: Di, 17.08.2010 16:11
von komma4
clag hat geschrieben:natürlich man kann alles irgendwo nachlesen
wozu gibt es bloß noch Schulen und Uni's da wird doch auch nur alles wiederholt,
Und "Nachlesen" tust Du nicht.
Andrews Makrodokument hat mehrere Beispiele für "Bereichsbearbeitung", auch in meinen Makros findet sich was.
Ausserdem ist das hier keine Schule, sondern ein Benutzerforum, wo freiwillig Hilfe anbieten. Sprich: Hilfe zur Selbsthilfe.
sven-my hat geschrieben:Wegen dieser oftmaligen Nörgelei, es sein schon irgendwo beschrieben, habe ich mir das Fragen verkniffen.
Das ist keine Nörgelei, sondern Kritik an der Unselbständigkeit die Forensuche zu benutzen.
Die bringt meist mehr Treffer als gewünscht, da muss man (=Du!) halt mal ein bisschen suchen.
Aber...Posten ist ja so einfach
Re: Bereich mit Wert oder String füllen
Verfasst: Di, 17.08.2010 16:30
von sven-my
Hallo Winfried,
wenn ich genau weiß, welche Stichworte in einem Beitrag verbaut sind, finde ich auch, was ich suche.
Dann nsuch doch mal alle Beiträge durch, die hier in diesem Forum mit der eingebauten Suchfunktion zu finden sind, wenn man eingibt:
bereich löschen
Un wenns Dir zu blöd ist zu helfen --- LASS es, es zwingt Dich keiner
VIEL SPAß
sven-my
Re: Bereich mit Wert oder String füllen
Verfasst: Di, 17.08.2010 17:04
von bst
Auch nochmals Hallo,
die obige Sub x - siehe
viewtopic.php?f=18&t=41197#p152191 - füllt den Bereich A4:A10 mit dem Wert "Hallo".
Was daran ist denn nicht klar?
cu, Bernd