BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!
> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
[gelöst] in geöffneter Tabelle das Blatt wechseln wie?
Re: in geöffneter Tabelle das Blatt wechseln wie?
Hallo wanderer,
ich versuche einmal Deine Fragen zu beantworten.
a) sicher, wenn alle Stricke reißen wird man sich wieder an das Flußdiagramm
erinnern. Das liegt mir auch noch vor.
b) Sicher kann Libreoffice BASIC auch GOTO-Anweisungen. Nur mit "goto Labelxxx"
und "Labelxxx:" wird so ein Programm nicht übersichtlicher.
c) das Libreoffice BASIC mit CALC-Tabellen eventuell ein Problem hat, istmir vorher
auch nie so aufgefallen.
d) Ich habe mir mit dem Writer eine Bildschirmseite geschaffen, auf der ich die verschiedensten
Programme aufgelistet und mit einem Auswahlbutton versehen habe.
Mit diesen Button rufe ich dann das gewünschte Programm auf, über dessen Dialog ich dann
die benötigten Programmparameter eingebe. Die Ergebnisse der Berechnug(en) gebe ich dann
wenn nicht über "msgbox" dann über eine CALC-DAtei aus, wobei mir dann auch wenn nötig
bzw erforderlich auch ein Diagramm zu den Berechnungen ausgegeben wird.
Also, mein Programm kommt nicht aus der CALC-Datei sondern steuert eine CALC-Datei.
Und bei dieser Vorgehensweise ist mir die Ungereimtheit (oder meine Unkenntnis) mit der
CALC-Datei aufgefallen.
Ich hoffe, ich habe es verständlich erklärt.
Mit Gruß
Werner
ich versuche einmal Deine Fragen zu beantworten.
a) sicher, wenn alle Stricke reißen wird man sich wieder an das Flußdiagramm
erinnern. Das liegt mir auch noch vor.
b) Sicher kann Libreoffice BASIC auch GOTO-Anweisungen. Nur mit "goto Labelxxx"
und "Labelxxx:" wird so ein Programm nicht übersichtlicher.
c) das Libreoffice BASIC mit CALC-Tabellen eventuell ein Problem hat, istmir vorher
auch nie so aufgefallen.
d) Ich habe mir mit dem Writer eine Bildschirmseite geschaffen, auf der ich die verschiedensten
Programme aufgelistet und mit einem Auswahlbutton versehen habe.
Mit diesen Button rufe ich dann das gewünschte Programm auf, über dessen Dialog ich dann
die benötigten Programmparameter eingebe. Die Ergebnisse der Berechnug(en) gebe ich dann
wenn nicht über "msgbox" dann über eine CALC-DAtei aus, wobei mir dann auch wenn nötig
bzw erforderlich auch ein Diagramm zu den Berechnungen ausgegeben wird.
Also, mein Programm kommt nicht aus der CALC-Datei sondern steuert eine CALC-Datei.
Und bei dieser Vorgehensweise ist mir die Ungereimtheit (oder meine Unkenntnis) mit der
CALC-Datei aufgefallen.
Ich hoffe, ich habe es verständlich erklärt.
Mit Gruß
Werner
Re: in geöffneter Tabelle das Blatt wechseln wie?
Unter den Umständen würde ich rrstmal sicherstellen, dass ich das richtige Dokument befrage. Es könnte z.B sein, dass Du die aufrufende Writerdatei nach einem weitern Sheet befragst.
An dieser Stelle empfiehlt meist einer der Foristen die Nutzung von MRI oder XRAY - in diesem Fall im Herauszufinden, wohin Dien Objekt zeigt und in welchem Dokument Du dich gerade bewegst....
J.
An dieser Stelle empfiehlt meist einer der Foristen die Nutzung von MRI oder XRAY - in diesem Fall im Herauszufinden, wohin Dien Objekt zeigt und in welchem Dokument Du dich gerade bewegst....
J.
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ LO 6.3.2 Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit
Re: in geöffneter Tabelle das Blatt wechseln wie?
Hallo Werner,
Deine Frage zu verstehen, ist schwierig, was meinst du mit in geöffneter Tabelle das Blatt wechseln wie?
Wenn ich dich richtig verstanden habe, möchtest du schlicht auf Tabellenblatt 1 etwas auslesen und in Tabellenblatt 2 eintragen.
Das ist einfach, hier ein Beispielcode:
Wenn du dabei das jeweilige Tabellenblatt sehen möchtest, kannst du dies mit dem CurrentController steuern.
Ein zweiter Beispielcode:
Diese beiden Codes funktionieren dann, wenn du eine Calc Datei mit mindestens zwei Tabellenblättern hast.
Gruß R
Dies kann ich in keiner Weise bestätigen, man kann ein Calc Dokument hervorragend mit Basic bearbeiten!
Deine Frage zu verstehen, ist schwierig, was meinst du mit in geöffneter Tabelle das Blatt wechseln wie?
Wenn ich dich richtig verstanden habe, möchtest du schlicht auf Tabellenblatt 1 etwas auslesen und in Tabellenblatt 2 eintragen.
Das ist einfach, hier ein Beispielcode:
Code: Alles auswählen
Sub Copy_Value
oTabellen = ThisComponent.Sheets
oQuelltabelle = oTabellen.getbyindex(0)' oder oQuelltabelle = oTabellen(0) oder oTabellen.getbyName("Tabelle1") wenn deine erste Tabelle "Tabelle1" heißt
oZieltabelle = oTabellen.getbyindex(1)' oder oQuelltabelle = oTabellen(1) oder oTabellen.getbyName("Ausgabe")wenn deine zweite Tabelle "Ausgabe" heißt
oQuellzelle = oQuelltabelle.getcellbyposition(0,1) 'oder oQuelltabelle.getcellRangebyName("A2")
oZielzelle = oZieltabelle.getcellbyposition(0,1) 'oder oZieltabelle.getcellRangebyName("A2")
dValue = oQuellzelle.Value ' wenn die Zelle eine Zahl enthält
msgbox "Der Wert in Zelle A2 ist: " & dValue
'sText = oQuellzelle.String ' wenn die Zelle einen Text enthält
'sFormula = oQuellzelle.Formula ' wenn die Zelle eine Formel enthält, liest man sie auf diese Weise aus
oZielzelle.Value = dValue
'oZielzelle.String = sText
msgbox "Wert auf Tabelle Ausgabe in Zelle A2 eingetragen"
End Sub
Ein zweiter Beispielcode:
Code: Alles auswählen
Sub Copy_Value2
oController = ThisComponent.CurrentController ' hiermit kann man die Ansichten steuern, dies hat nichts mit dem Zugriff auf die Zellen zu tun
oTabellen = ThisComponent.Sheets
oQuelltabelle = oTabellen.getbyindex(0)' oder oQuelltabelle = oTabellen(0) oder oTabellen.getbyName("Tabelle1")
oZieltabelle = oTabellen.getbyindex(1)' oder oQuelltabelle = oTabellen(1) oder oTabellen.getbyName("Ausgabe")
'auf Tabelle Ausgabe springen
oController.activeSheet = oZieltabelle
msgbox "Aktuelle aktiv : Tabelle Ausgabe, siehe Reiter unten"
'auf Tabelle1 wechseln
oController.activeSheet = oQuelltabelle
msgbox "Auf Tabelle 1 gesprungen, siehe Reiter unten"
oQuellzelle = oQuelltabelle.getcellbyposition(0,1) 'oder oQuelltabelle.getcellRangebyName("A2")
oZielzelle = oZieltabelle.getcellbyposition(0,1) 'oder oZieltabelle.getcellRangebyName("A2")
dValue = oQuellzelle.Value ' wenn die Zelle eine Zahl enthält
msgbox "Der Wert in Zelle A2 ist: " & dValue
'sText = oQuellzelle.String ' wenn die Zelle einen Text enthält
'sFormula = oQuellzelle.Formula ' wenn die Zelle eine Formel enthält liest man sie auf diese Weise aus
'wieder auf Tabelle Ausgabe springen
oController.activeSheet = oZieltabelle
msgbox "Auf Tabelle Ausgabe gesprungen"
'Zielzelle für 1 Sekunde rot färben
oZielzelle.CellBackColor =RGB(255,0,0)
wait 1000
oZielzelle.CellBackColor = -1
oZielzelle.Value = dValue
'oZielzelle.String = sText
msgbox "Wert eingetragen"
End Sub
Gruß R
Windows 10: AOO, LO Linux Mint: AOO, LO
Re: in geöffneter Tabelle das Blatt wechseln wie?
Hallo R,
vielen Dank für Deine Mühen.
Ja, genau das war es, -> Aus einem Tabellenblatt auslesen, rechnen lassen
und das Ergebnis in ein Folgeblatt hineinschreiben.
Deine Code-Sequenzen helfen mir sehr, mich in die Makro-Programmierung
einzuarbeiten.
Nochmals vielen Dank.
Mit Gruß
Werner
vielen Dank für Deine Mühen.
Ja, genau das war es, -> Aus einem Tabellenblatt auslesen, rechnen lassen
und das Ergebnis in ein Folgeblatt hineinschreiben.
Deine Code-Sequenzen helfen mir sehr, mich in die Makro-Programmierung
einzuarbeiten.
Nochmals vielen Dank.
Mit Gruß
Werner
Re: [gelöst] in geöffneter Tabelle das Blatt wechseln wie?
Moin,
wie Wanderer bereits oben geschrieben hat:
Gruß R
wie Wanderer bereits oben geschrieben hat:
Eines der beiden zu nutzen empfehle auch ich dir.
Gruß R
Windows 10: AOO, LO Linux Mint: AOO, LO
An alle, die das LibreOffice-Forum nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
❤️ Vielen lieben Dank für Ihre Unterstützung ❤️