[gelöst] Zellen innerhalb einer CellRange indizieren

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [gelöst] Zellen innerhalb einer CellRange indizieren

Re: [gelöst] Zellen innerhalb einer CellRange indizieren

von TrueColor » Do, 11.07.2013 14:23

Danke!

Gruß
Robert

Re: [gelöst] Zellen innerhalb einer CellRange indizieren

von F3K Total » Mi, 10.07.2013 18:51

AFAIK, yes!
R

Re: [gelöst] Zellen innerhalb einer CellRange indizieren

von TrueColor » Mi, 10.07.2013 08:33

Also werden grundsätzlich immer zuerst die Zeilen ausgelesen, ohne das man das irgendwie explizit angeben muss?

Grüße
Robert

Re: [gelöst] Zellen innerhalb einer CellRange indizieren

von F3K Total » Mo, 08.07.2013 20:02

Nun,
oBlue wäre wohl weniger verständlich als oRange (oooo Rändsch).
Da war ich wohl 2F4U.
Darum, AFAIK und FYI:
Mit

Code: Alles auswählen

oRange.data
liest du das Daten-Array des Zellbereichs aus.
Mit

Code: Alles auswählen

uBound(oRange.data)
wiederum den Y-Wert, sprich die Anzahl der Zeilen
Mit

Code: Alles auswählen

uBound(oRange.data(0))
den X-Wert, sprich die Anzahl der Werte in der Zeile mit dem Index 0, also die Anzahl der Spalten.
GL R

Re: [gelöst] Zellen innerhalb einer CellRange indizieren

von TrueColor » Mo, 08.07.2013 08:20

Hallo F3K Total,

das sieht genau nach dem aus, an das ich gedacht hatte.

Eine Frage zum Verständnis: Warum hast du die orange.data (ich hätte ja lieber blaue Daten gehabt *SCNR*) in der k-Schleife indiziert, in der i-Schleife hingegen nicht? Ist die Indizierung bei nur einem Element nicht zwingend notwendig?

Grüße
Robert

Re: [gelöst] Zellen innerhalb einer CellRange indizieren

von F3K Total » Sa, 06.07.2013 17:35

Hi,
eine Anmerkung:
Es gibt auch im CellRange ein

Code: Alles auswählen

.getcellbyposition
wobei die oberste linke Zelle die Indizes (0,0) hat.
Das Makro

Code: Alles auswählen

Sub Main
    oSheet = ThisComponent.sheets.getbyname("Tabelle1")
    oRange = oSheet.getcellrangebyname ("B12:C24")
    oCell = oRange.getcellbyposition(0,0)
    msgbox oCell.AbsoluteName
End Sub
gibt.z.B:
RC1.png
RC1.png (5.91 KiB) 2643 mal betrachtet
Somit kannst Du hiermit jeglichen Zellbereich durchlaufen:

Code: Alles auswählen

Sub Main2
    oSheet = Thiscomponent.sheets.getbyname("Tabelle1")
    oRange = oSheet.getcellrangebyname ("B12:C24")
    for i = 0 to ubound(orange.data)
        for k = 0 to ubound (orange.data(0))
            oCell = oRange.getcellbyposition(k,i)
            msgbox oCell.AbsoluteName
        next k
    next i
End Sub
Gruß R

Re: Zellen innerhalb einer CellRange indizieren

von TrueColor » Fr, 05.07.2013 10:52

Hallo Bernd,

manchmal sieht man den Wald vor lauter Bäumen nicht... ich war total auf meine CellRanges fixiert.

Danke dir!

Grüße
Robert

Re: Zellen innerhalb einer CellRange indizieren

von bst » Fr, 05.07.2013 08:59

Hi,

versuche das mal so.

cu, Bernd
--

Code: Alles auswählen

Sub Main
   oSheet = ThisComponent.currentController.ActiveSheet
   For i = 0 To 7
      For j = 0 To 4
         oSheet.GetCellByPosition(j,i).String = "Z" & i+1 & " S" & j+1
      Next
   Next
End Sub

[gelöst] Zellen innerhalb einer CellRange indizieren

von TrueColor » Fr, 05.07.2013 08:48

Hallo,

ich habe mehrere gleich aufgebaute CellRanges.

Range_1 --> A1:A8
Range_2 --> B1:B8
[...]
Range_5 --> E1:E8

Kann ich (wenn ja, wie?) die Zellen innerhalb der CellRange irgendwie indizieren, so, dass ich die Zellen z.B. mit Schleifen einfacher bearbeiten kann?

Danke!
TrueColor

Nach oben