Excel bzw Openoffice Calc

nixnutz

Newbie
Registriert
Nov. 2010
Beiträge
6
Hallo,

vorab: ich bin neu und hoffe hier richtig zu posten, ansonsten vielmals entschuldigung.

frage:

ich habe z.B. von links nach rechts mehrere spalten und entsprechend viele zeilen. die anzahl der zeilen sind unterschiedlich, übersichtlichkeitshalber würde ich gerne nach "namenwechsel" in der ersten spalte eine leerzeile einfügen.

Z.B:

A1 bis A5 "Andreas"; Spalten B1-5/C1-5/D1-5 etc entsprechende daten..
A6 bis A19 "Thomas"; SpaltenB6-16/C6-19/D6-19 etc. entsprechend.
A20 bis A23 "Kurt"; SpaltenB20-23/C20-C23/D20-23 etc. entsprechend.

Nun würde ich gerne zwischen "Andreas", "Thomas" und "Kurt" je eine Leerzeile automatisch einfügen, da ich sehr viele Zeilen habe, wäre ein automatisches einfügen für mich sehr erleichternd.

Vielen lieben dank im voraus!
 
Makro schreiben... Spalte "A" nach unterschiedlichen Namen durchsuchen, und dazwischen eine Zeile einfügen.
 
Dürfte nur über ein Makro funktionieren:

Könntest auch mal in folgendem Forum posten:
http://www.herber.de/forum/
Die schreiben dir vielleicht sogar eines :)
 
kevchen.. danke schön..

ich habe bislang nichts mit makro zu tun gehabt, also keine geschrieben. hatte dies allerdings befürchtet, falls es nicht aufwendig ist, wäre super wenn jemand mir helfen könnte, ansonsten werde ich mich wohl an jemandem im umfeld wenden müssen.

gruß
Ergänzung ()

supastar

danke, der link scheintganz hilfreich zu sein, wenn ich hier nicht weiterkomme versuche ich es dort mal.

danke
 
Da Openoffice und Excel unterschiedliche APIs benutzen, müsste man erst wissen für was ein Makro geschrieben werden soll.
Excel oder OO? VBA oder Basic?
 
sagen wir für excel, kanns evtl bei gelegenheit selber "umfunktionieren", wenn ich erst mal einen ansatz hätte.

VBA oder Basic?

Also es reicht wenn ich es pro blatt anwenden kann, statt auf alle tabellenblätter - sofern basic? ansonsten sagen mir weder API, VBA oder Basic was. Bin eher der praktische anwender je nach zweck.
 
Für Openoffice kann es so aussehen...

Kurze Erklärung:
Zelle 2 wird überprüft ob sie mit Zelle 1 übereinstimmt. Wenn ja wird nichts gemacht, wenn nicht wird VOR Zelle 2 eine Leerzeile eingefügt und mit i=i+1 die Leerzeile übersprungen.
Funzt soweit ... Fehler können noch vorhanden sein. Für Richtigkeit gebe ich keine Garantie. Mein Programmierstil ist auch mist, ich weiß. Aber es funzt zumindest bei mir :)

Code:
Sub Main

dim sName as String
dim sNameTemp as String
 
oDoc = thisComponent
osheet = oDoc.Sheets(0)
dim oCell as Object

for i = 2 to 10    //durchsucht Spalte 2 bis 10 ... ändern bei bedarf

	oCell = oSheet.getCellByPosition(0,i)
	sName = oCell.string
	sNameTemp = oSheet.getCellByPosition(0,i-1).string 

	if sName = sNameTemp Then 

	else
		oRows = odoc.sheets(0).getRows
		oRows.insertByIndex(i,1)
		i=i+1
	endif

next i

End Sub
Ergänzung ()

Da Excel und OpenOffice nicht die gleiche Makrosprache benutzen, ist es leider nicht austauschbar und muss komplett neu geschrieben werden.
Habe gerade kein Excel hier... sry
 
danke dir vielmals, ich glaube die formel mit den jeweiligen funktionen habe ich verstanden, wie ich dann noch einen makro anwende, da frage ich am besten einen aus meinem umfeld der sich auskennen könnte. scheint insgesamt komplizierter zu sein als ich dachte. aber die vorlage wird sicher sehr hilfreich sein, danke nochmals für die mühe!!

ergänzung:

habe zu hause o.o. und werde mich etwas einlesen wie man macro erstellt, einfügt und anhand deiner vorlage ausprobieren, sehe eben das ich wohl über "extras" gehen muss und dort die nötigen tools sind...
 
Zuletzt bearbeitet:
Extras - > Makros - > Makros verwalten -> OpenOffice Basic -> Sheet aussuchen "Name" -> Neu -> Name eintippen
Dann kommt ein neues Fenster... steht schon sub Main drin und end sub... dazwischen den Rest einfügen.
Main kann man noch umbenennen in "addRow" oder ähnlich... ohne Leerzeichen!
Ausführen des Makros geht auf dem gleichen Weg.
Extras -> Makros -> Makro ausführen -> auswählen...
 
vielen dank!

ich werde es von zu hause aus dann mit o.o. probieren, grob habe ich verstanden wie es funktionieren müsste.. glaube ich :-)

schönes wochenende.
 
hallo kevchen,

es funktioniert!

vielen dank für die hilfe, erleichtert mir einiges an nerviger arbeit.

grüße
 

Ähnliche Themen

Zurück
Oben