Makro zum Tabellenfüllen
Moderator: Moderatoren
Makro zum Tabellenfüllen
Hallo,
kann mir jemand erklären, wie man eine Prozedur schreibt mit der man den Inhalt bestimmter, gleich positinierter Zellen verschiedener hintereinanderliegender Tabellen einer Calc-Datei zeilenweise in bestimmte Zellen einer weiteren Tabelle derselben Datei schreiben kann?
Beispiel:
Den Inhalt der Zellen mit der Position A1 und F4 der Tabellen "Nr.01" bis "Nr.09" sollen für jede Tabelle in eine Zeile der Spalten B und C geschrieben werden, und zwar beginnend mit der 3 Zeile.
@Stephan
Es geht wieder um mein "Serienbriefproblem". Ich will die Rechnenergebnisse jeder Einzelabrechnungstabelle samt Individualisierungsangaben wieder in ein eine übersichtliche Tabelle schreiben.
Gruß und Dank vorab - Mr.Ioes
kann mir jemand erklären, wie man eine Prozedur schreibt mit der man den Inhalt bestimmter, gleich positinierter Zellen verschiedener hintereinanderliegender Tabellen einer Calc-Datei zeilenweise in bestimmte Zellen einer weiteren Tabelle derselben Datei schreiben kann?
Beispiel:
Den Inhalt der Zellen mit der Position A1 und F4 der Tabellen "Nr.01" bis "Nr.09" sollen für jede Tabelle in eine Zeile der Spalten B und C geschrieben werden, und zwar beginnend mit der 3 Zeile.
@Stephan
Es geht wieder um mein "Serienbriefproblem". Ich will die Rechnenergebnisse jeder Einzelabrechnungstabelle samt Individualisierungsangaben wieder in ein eine übersichtliche Tabelle schreiben.
Gruß und Dank vorab - Mr.Ioes
Lies Dich mal durch die Antworten auf verschiedene Fragen von mir, da ist das schon mal erklärt.
Du kannst Dir auch mal das Buchhaltungs Plug in von mir Downloaden
( http://www.der-linuxladen.de/linuxladen ... k-fakt.zip )
da ist das gleiche Prob schon gelöst und Du kannst dir die entsprechenden Makros kopieren und anpassen.
Du kannst Dir auch mal das Buchhaltungs Plug in von mir Downloaden
( http://www.der-linuxladen.de/linuxladen ... k-fakt.zip )
da ist das gleiche Prob schon gelöst und Du kannst dir die entsprechenden Makros kopieren und anpassen.
HerbK
Hallo herbk,
leider finde ich weder passende Beiträge von Dir hier im Forum (zumindest nach den Überschriften) noch bin ich bislang dazu gekommen, in dem von Dir angegebenen "Dingsbums" (ich komm´ grad nicht darauf wie man das nennt, was ich mir runtergeladen habe) in Ruhe die Inatallationsanleitung zu lesen oder in den entpackten Dokumenten nach dem passenden Makro zu suchen. Also das scheint alles sehr interessant zu sein und ich werde mir das wohl spätestens am nächsten Wochenende mal genauer anschauen, doch komme ich im Moment aufgrund meiner anderen Aufgaben einfach nicht weiter.
Es wäre nett, wenn Du (oder ein Anderer) mir den Link zu einem passenden Beitrag, bzw. einem passenden Makro posten könntest (könnte). Vor allem brauche ich mal ein Beispiel, wie Tabellen statt Zeilen schrittweise angesprochen werden.
Nochmal Danke!
Gruß - Mr.Ioes
leider finde ich weder passende Beiträge von Dir hier im Forum (zumindest nach den Überschriften) noch bin ich bislang dazu gekommen, in dem von Dir angegebenen "Dingsbums" (ich komm´ grad nicht darauf wie man das nennt, was ich mir runtergeladen habe) in Ruhe die Inatallationsanleitung zu lesen oder in den entpackten Dokumenten nach dem passenden Makro zu suchen. Also das scheint alles sehr interessant zu sein und ich werde mir das wohl spätestens am nächsten Wochenende mal genauer anschauen, doch komme ich im Moment aufgrund meiner anderen Aufgaben einfach nicht weiter.
Es wäre nett, wenn Du (oder ein Anderer) mir den Link zu einem passenden Beitrag, bzw. einem passenden Makro posten könntest (könnte). Vor allem brauche ich mal ein Beispiel, wie Tabellen statt Zeilen schrittweise angesprochen werden.
Nochmal Danke!
Gruß - Mr.Ioes
Hallo!
Ich habe mal über dein Problem nachgedacht und einen Code geschrieben. Ich habe allerdings vorausgesetzt, daß die Tabelle, in der die Daten zusammengefasst werden sollen, an erster Stelle steht mit Index 0 und anschließend die übrigen Tabellen mit Index 1 – 9. Ist die Voraussetzung anders müsste der Code angepasst werden.
Gruß
Charly
Ich habe mal über dein Problem nachgedacht und einen Code geschrieben. Ich habe allerdings vorausgesetzt, daß die Tabelle, in der die Daten zusammengefasst werden sollen, an erster Stelle steht mit Index 0 und anschließend die übrigen Tabellen mit Index 1 – 9. Ist die Voraussetzung anders müsste der Code angepasst werden.
Code: Alles auswählen
Sub TabelleKomprimieren()
Doc = ThisComponent
HauptBlatt = Doc.sheets(0)
For I = 1 to 9
Blatt = Doc.sheets(i)
Zelle = Blatt.getCellRangeByName("A1")
Wert = Zelle.string
Ziel = Hauptblatt.getCellbyPosition(1,I+1)
Ziel.string = Wert
Zelle = Blatt.getCellRangeByName("F4")
Wert = Zelle.string
Ziel = Hauptblatt.getCellbyPosition(2,I+1)
Ziel.string = Wert
next I
End Sub
Charly
*** Staun ***
das ist ja auch nicht schwierige als bei den teuren Programmen der Scriptkiddies.
Wenn ich etwas nicht weiß, dann schmeiße ich die Makroaufzeichnung an, mache einige wenige Zellen und sehe mir dann an, was generiert wurde. Bisher gabe ich da (noch) nie so richtig durchgeblickt, während dein Beispiel mir von vornherein einleuchtet.
THX
Hans
das ist ja auch nicht schwierige als bei den teuren Programmen der Scriptkiddies.

Wenn ich etwas nicht weiß, dann schmeiße ich die Makroaufzeichnung an, mache einige wenige Zellen und sehe mir dann an, was generiert wurde. Bisher gabe ich da (noch) nie so richtig durchgeblickt, während dein Beispiel mir von vornherein einleuchtet.

THX
Hans
Vielen Dank Charly,
ich hab´s tatsächlich hingekriegt. Der funktionierende Code sieht bei mir (an die konkrete Aufgabe angepasst) jetzt so aus:
Und das nächste mal probiere ich auch endlich mal den Macrorecorder aus. Versprochen.
Gruß - Mr.Ioes
ich hab´s tatsächlich hingekriegt. Der funktionierende Code sieht bei mir (an die konkrete Aufgabe angepasst) jetzt so aus:
Code: Alles auswählen
Sub BK_Saldenliste()
myDoc = ThisComponent
HauptBlatt = myDoc.sheets(myDoc.Sheets.count-1)
For I = 4 to 24
Blatt = myDoc.sheets(i)
Zelle = Blatt.getCellRangeByName("C4")
Wert = Zelle.string
Ziel = Hauptblatt.getCellbyPosition(0,I-1)
Ziel.string = Wert
Zelle = Blatt.getCellRangeByName("B5")
Wert = Zelle.string
Ziel = Hauptblatt.getCellbyPosition(1,I-1)
Ziel.string = Wert
Zelle = Blatt.getCellRangeByName("F11")
Wert = Zelle.string
Ziel = Hauptblatt.getCellbyPosition(2,I-1)
Ziel.string = Wert
next I
End Sub

Gruß - Mr.Ioes