BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das OpenOffice Forum zu erhalten!

DANKE >><< DANKE

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des OpenOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als OO-SUPPORTER gekennzeichnet. 🤗

Format mit Makro kopieren

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
Keilhauer
Beiträge: 3
Registriert: Fr 3. Mär 2017, 15:29

Format mit Makro kopieren

Beitrag von Keilhauer » Fr 3. Mär 2017, 15:40

Hallo
Ich habe ein kleies Problem, und zwar möchte ich von einer Zelle einen Text in 10 andere Zellen kopieren. Von diesen Wörtern in der Zelle soll nur 1 Wort unterstrichen sein.
Bekannte sagten mir, dafür müsse man einen Makro schreiben und haben mir eine Vorlage dafür gegeben.

Sub Test
Range("A1:A1").Copy Destination:=Range("B1:B10")
End Sub

Wenn ich diesen Makro ausführe schreibt OpenOffice eine Fehlermeldung:

BASIC-Laufzeitfehler
Sub- oder Function-Prozedur nicht definiert

...Was mache ich da falsch, wie kann man das Problem lösen.
Danke
Christoph

Jodokus
Beiträge: 703
Registriert: Mo 8. Feb 2010, 17:13

Re: Format mit Makro kopieren

Beitrag von Jodokus » Fr 3. Mär 2017, 16:05

Hi,
wenn ich einen Text mit nur einem unterstrichenen Wort in eine andere Zelle kopiere (Copy and Paste), kommt die Unterstreichung ganz ohne Makro mit (Oo 4.1.3, Linux Mint 18.1)

Gruß
Jodokus
Arbeiten am Computer ist wie U-Boot fahren.
Machst du ein Fenster auf, fangen die Probleme an.

Keilhauer
Beiträge: 3
Registriert: Fr 3. Mär 2017, 15:29

Re: Format mit Makro kopieren

Beitrag von Keilhauer » Fr 3. Mär 2017, 16:23

Hallo Jodokus,
nein, kommt es nicht.
Ich habe sonst die Texte immer so gemacht Bsp.: B1=A1....B2=A1 usw. Aber wenn ich von meinem Text, der in A1 steht nur 1 Wort unterstrichen, Fett oder Kusiev geschrieben haben möchte, überträgt das Programm das nicht in die anderen Zellen. Das gleiche gilt auch für unterschiedliche Schriftarten, Farben, Größen etc.
Natürlich könnte ich jede der 10 Zellen einzeln kopieren, das ist mir aber zu umstaändlich.

Jodokus
Beiträge: 703
Registriert: Mo 8. Feb 2010, 17:13

Re: Format mit Makro kopieren

Beitrag von Jodokus » Fr 3. Mär 2017, 16:39

Hi,
nein, kommt es nicht
kommt es doch, ich habs ja ausprobiert.
Im Gegensatz zu mir schreibst du nichts zu deinem System.

Jodokus
Arbeiten am Computer ist wie U-Boot fahren.
Machst du ein Fenster auf, fangen die Probleme an.

F3K Total
Beiträge: 1007
Registriert: Mo 1. Aug 2011, 00:03

Re: Format mit Makro kopieren

Beitrag von F3K Total » Fr 3. Mär 2017, 16:54

Moin,
dein Makro ist VBA (Microsoft).
Dieses geht in OpenOffice, kopiert den formatierten Inhalt der Zelle A1 auf Tabelle1 in die Zellen B2, C3, D3, B6, C8, D11, B12, C14, D16, E18.

Code: Alles auswählen

Sub S_copy_Range
    sTarget = array ("B2","C3","D3","B6","C8","D11","B12","C14","D16","E18")
    oSheet = ThisComponent.Sheets.getbyname("Tabelle1")
    oSourceCellRange = oSheet.getcellRangeByName("A1")
    aSourceRangeAddress = oSourceCellRange.RangeAddress
    for i = 0 to uBound(sTarget)
        aTargetCelladdress = oSheet.getcellRangeByName(sTarget(i)).Celladdress
        oSheet.CopyRange(aTargetCelladdress,aSourceRangeAddress)
    next i
End Sub
einfacher, wenn die Zellen B1:B10 gefüllt werden sollen

Code: Alles auswählen

Sub S_copy_Range_2
    oSheet = ThisComponent.Sheets.getbyname("Tabelle1")
    oSourceCellRange = oSheet.getcellRangeByName("A1")
    aSourceRangeAddress = oSourceCellRange.RangeAddress
    for i = 0 to 9
        aTargetCelladdress = oSheet.getcellbyPosition(1,i).Celladdress
        oSheet.CopyRange(aTargetCelladdress,aSourceRangeAddress)
    next i
End Sub
Gruß R
Windows 10: AOO, LO Linux Mint: AOO, LO

Keilhauer
Beiträge: 3
Registriert: Fr 3. Mär 2017, 15:29

Re: Format mit Makro kopieren

Beitrag von Keilhauer » Fr 3. Mär 2017, 20:47

….Vielleicht nochmal ein paar Infos zu meiner Person und meinem Umfeld....:
Ich bin nicht sehr bewandert in „Programmiersachen“, deswegen wende ich mich hier an dieses Forum, damit mir Leute mit Kenne mir bei meinem kleinen Problem weiter helfen können..
Momentan benutze ich Windows 10 und die OpenOffice Version 4.0.0. All meine IT-Fachleute, die ich kenne benutzen nicht OpenOffice sondern natürlich Excel. Leider scheinen die BASIC-Befehle nicht die Selben zu sein und lassen sich nicht einfach von Excel in OpenOffice übertragen.
Für mich sind das alles böhmische Dörfer und man musste mir erst mal erklären was ein Makro überhaupt ist.

@ „R“
Ich habe die Befehle, die du geschrieben hast, einfach mal eingetragen:

Sub S_copy_Range
    sTarget = array ("B2","C3","D3","B6","C8","D11","B12","C14","D16","E18")
    oSheet = ThisComponent.Sheets.getbyname("Tabelle1")
    oSourceCellRange = oSheet.getcellRangeByName("A1")
    aSourceRangeAddress = oSourceCellRange.RangeAddress
    for i = 0 to uBound(sTarget)
        aTargetCelladdress = oSheet.getcellRangeByName(sTarget(i)).Celladdress
        oSheet.CopyRange(aTargetCelladdress,aSourceRangeAddress)
    next i
End Sub

Leider scheint es immer noch nicht zu zu funktionieren. Es kommt eine Fehlermeldung:

BASIC-Laufzeitfehler
Es ist ein Exeption aufgetreten
Type: com.sun.star.container.NoSuchElementExeption
Message.


????
Vielleicht handhabe ich das alles auch völlig falsch und drücke die verkehrten Knöpfe.
Nachdem ich die Befehlszeilen eingetragen habe drücke ich einfach auf: BASIC-Programm ausführen F5.
Ist das so richtig?

F3K Total
Beiträge: 1007
Registriert: Mo 1. Aug 2011, 00:03

Re: Format mit Makro kopieren

Beitrag von F3K Total » Fr 3. Mär 2017, 21:03

Hallo,
es gibt genügend Informationen im Netz zur Programmierung mit Starbasic, z.B. hier:http://de.openoffice.info/viewtopic.php?f=18&t=1553 Wie man Makros verwaltet und ausführt, steht in der Hilfe (F1) und auch im z.B. im Wiki:https://wiki.openoffice.org/wiki/DE/Mak ... c_Tutorial. Anbei eine Datei, die die beiden Makros von mir beinhaltet.
Damit die Makros laufen dürfen, stellst du unter Extras/Einstellungen/Openoffice/Sicherheit/Makrosicherheit mindestens die Stufe "Mittel" ein, dann wirst du beim Öffnen von Dokumenten gefragt, ob du Makros ausführen möchtest.

Gruß R
Dateianhänge
CopyRange_to_10_Cells.ods
(12.37 KiB) 168-mal heruntergeladen
Windows 10: AOO, LO Linux Mint: AOO, LO

Antworten