Seite 1 von 1

Wechseln des Tabellenbattes

Verfasst: Do, 04.08.2005 08:05
von hoefri55
Hallo,

Tabellen ins Calc-Dokument einfügen klappt schon, aber wie wechsele ich zwischen den Blättern?

Danke, Friedhelm

Verfasst: Do, 04.08.2005 11:26
von ykcim
Es gibt zwei Wege um auf Arbeitsblätter zuzugreifen:
Über den Namen oder über die interne Nummer.

Über den Namen:

myDoc = thisComponent
mySheet = myDoc.Sheets().getByName("Tabelle2")

Über die interne Nummer:

myDoc = thisComponent
mySheet = myDoc.Sheets(0)

Die Zählung der Sheets beginnt bei 0.



mfg
Michael

klappt auch!

Verfasst: Do, 04.08.2005 11:58
von hoefri55
Herzlichen Dank, das klappt einfach supi.

Aber mein nächstes Problem lauert schon.
Zur Verdeutlichung schildere ich vielleicht mal die gesamte Aufgabe.

Ich möchte eine gesamte Zeile in einem Calc-Tabellenblatt markieren, ausschneiden, in ein anderes Blatt wechseln und die Zeile dort wieder einfügen.


Friedhelm

Verfasst: Do, 04.08.2005 12:47
von zap
Hi Friedhelm,

das Problem ist nicht so genau definiert. Es kommt z.B. darauf an, ob du Formeln oder Ergebnisse kopieren moechtest. Das nachfolgende Makro kopiert stumpf die Daten von Zeile 11 zu Zeile 11 im naechsten Blatt. Die bisherige Zeile 11 im 2. Blatt wird nach unten verschoben, die im 1. Blatt wird geloescht.

Code: Alles auswählen

option compatible

sub zeile_ausschneiden_einfuegen
  oTabellen = ThisComponent.Sheets
  t1 = oTabellen.getByName("Sheet1") ' muss wahrscheinlich durch Tabelle1 ersetzt werden
  t2 = oTabellen.getByName("Sheet2")
  
  ' Zeile mit Index 10 auswaehlen. Das ist die 11. Zeile, da die 
  ' interne Zaehlung bei 0 beginnt
  t1_zeile = t1.Rows.getByIndex(10)
  ' Daten kopieren
  Daten = t1_zeile.getDataArray ()
  ' Zeile loeschen
  t1.Rows.removeByIndex(10, 1)
  
  ' 1 Zeile an Index 10 einfuegen
  t2.Rows().insertByIndex (10, 1)
  t2_zeile = t2.Rows.getByIndex (10)

  t2_zeile.setDataArray (Daten)
end sub
zap

Verfasst: Mo, 08.08.2005 08:54
von hoefri55
Genau das war es, was ich brauchte.

Danke,

Friedhelm