Seite 1 von 1

Leere Zellen in gleichem Abstand in Spalte einfügen

Verfasst: Do, 04.07.2019 19:17
von Bommel
Hallo,

ich möchte in einer Tabellenspalte nach jeder n-ten Zelle 2 oder mehr leere Zellen einfügen. In der Tabelle im Anhang ist in Spalte B zu sehen, wie das Ergebnis aussehen soll. Es sollen dabei aber nur in einer ausgewählten Spalte Zellen eingefügt werden, d. h. keine ganzen Zeilen. Geht das mit einer Formel?
Ich habe hier: How to Insert Blank Rows Using a Formula in Google Sheets - leider nicht für Calc - gefunden was ich suche (siehe auf der Webseite die erste Tabelle von oben). Kann man die erste Formel (mit Vlookup) für Calc umbauen? Außerdem habe ich hier: How to insert empty cells between non-empty cells in the entire column ein Makro gefunden, das aber nach jeder Zelle nur 1 leere Zelle einfügt. Kann man das so ändern, dass nach jeder Zelle 2 Zellen eingefügt werden?

Freundliche Grüße

Re: Leere Zellen in gleichem Abstand in Spalte einfügen

Verfasst: Fr, 05.07.2019 08:55
von Mondblatt24
Hallo,
siehe hier.

Gruß Peter

Re: Leere Zellen in gleichem Abstand in Spalte einfügen

Verfasst: Fr, 05.07.2019 11:59
von paljass
Hallo Peter,
in deinem Link geht es um Zeilen, Bommel will aber Zellen einfügen.

Gruß
paljass

Re: Leere Zellen in gleichem Abstand in Spalte einfügen

Verfasst: Fr, 05.07.2019 12:34
von Mondblatt24
Hallo,
für mich sieht es so aus wie Bommel es haben wollte.
Oder sollten die Zellen in Spalte A eingefügt werden?

Gruß Peter

Re: Leere Zellen in gleichem Abstand in Spalte einfügen

Verfasst: Fr, 05.07.2019 19:43
von Bommel
Hallo,
vielen Dank Peter!
Die Formel unter dem Link funktioniert genau richtig. Eine Hilfsspalte, in der die Daten ohne Leerzellen stehen, stört nicht.
Ich habe das Makro so geändert, dass damit auch jeweils zwei Zellen einfügt werden.

@paljass: Es werden mit dem Makro wie auch mit der Formel von excelformeln.de nur Zellen eingefügt, keine Zeilen.
Wie das bei den Google Sheets ist, weiß ich nicht. Da ist zwar hauptsächlich von Zeilen die Rede,
aber auf der Abbildung sieht es so aus, als ob nur Zellen eingefügt werden.
Der Autor unterscheidet vielleicht nicht zwischen Zellen und Zeilen, denn an einer Stelle schreibt er "cells/rows".

Freundliche Grüße und vielen Dank!

Makro:

Code: Alles auswählen

rem -- Quelle: https://ask.libreoffice.org/en/question/8436/how-to-insert-empty-cells-between-non-empty-cells-in-the-entire-column/
rem -- Im Makro hier gegenüber dem Original-Makro gemachte Änderungen:
rem -- Alle Zeilen in denen args4 vorkommt, wurden hinzugefügt,
rem -- damit nach jeder Zeile 2 leere Zellen eingefügt werden.
rem -- Ursprünglich wurde nach jeder Zeile nur eine leere Zelle eingefügt.
rem -- Außerdem wurde args3(0).Value = 2 in args3(0).Value = 3 geändert.

sub SpacerMacro
rem -- This macro will Insert/ShiftCellsDown to space out a column of cells 
rem -- Run the macro beginning with the first cell of the column selected.
dim document   as object
dim dispatcher as object
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

dim args1 as integer
dim args2(0) as new com.sun.star.beans.PropertyValue
dim args3(1) as new com.sun.star.beans.PropertyValue
dim args4(0) as new com.sun.star.beans.PropertyValue

args2(0).Name = "Flags"
args2(0).Value = "V"

args3(0).Name = "By"
args3(0).Value = 1
args3(1).Name = "Sel"
args3(1).Value = false

args4(0).Name = "Flags"
args4(0).Value = "V"

rem --- Need to shift down one cell initially before inserting
dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args3())

rem --- After that, it needs to shift down 2 cells each time, 
rem --- the one it just inserted and the the next non-empty one.
args3(0).Value = 3

rem ---- CHANGE THE "to " NUMBER TO SUIT YOUR NUMBER OF ROWS TO SPACE
for args1= 1 to 50
dispatcher.executeDispatch(document, ".uno:InsertCell", "", 0, args2())
dispatcher.executeDispatch(document, ".uno:InsertCell", "", 0, args4())
dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args3())
next args1

end sub