mehre Zeilen automatisch einfügen
#1
Hallo Zusammen,

ich habe auf Arbeit eine sehr große Tabelle zu bearbeiten. Diese führt in Spalte A Auftragsnummern. Da aber zu jedem Auftrag mehrere Zeilen gehören, soll ich jedes Mal zwischen Auftrag und Auftrag eine Leerzeile einfügen. Händisch gehts ja ganz einfach mit markieren und einfügen. 
ABER gibt es evtl. auch eine Funktion die erkennt, wann eine Zeile eingefügt werden muss, sodass ich diese dann ausführen kann?

Im Anhang eine Beispieldatei. "Ist" wie beschrieben und "soll" wie es hinterher aussehen müsste.

Vielen Dank für Eure Hilfe und beste Grüße,
Bastian


Angehängte Dateien
.xlsx   Beispiel_Datei.xlsx (Größe: 10,2 KB / Downloads: 11)
Top
#2
Hallo,

ich bemühe mich freundlich zu antworten:

Mit VBA ist es (leicht) möglich Leerzeilen einzufügen, aber es ist besser sich über einen anderen Ansatz Gedanken zu machen. Leerzeilen erschweren die Auswertung in vielen Fällen.

Wenn man verschieden Aufträge optisch trennen möchte, kann man mit Farben bzw Rahmen arbeiten.

mfg

(ich habe mir die Datei nicht angesehen)
Top
#3
Moin,
ich schließe mich Fennek voll und ganz an. Leerzeilen habe in einer Liste/Tabelle nichts zu suchen und erschweren jegliche Auswertung.
Und wenn es denn kein Rahmen werden soll, dann kannst du auch jeden ersten neuen Block mit der doppelten Zeilenhöhe beginnen. Da hast du auch den Abstands-Effekt und das geht auch gut mit VBA zu realisieren. Rahmen finde ich aber dennoch die bessere Lösung...
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Top
#4
Hallo,

du hast die Postings der Kollegen gelesen, ich unterstütze diese Aussagen auch, aber wenn du trotzdem mit Leerzeilen arbeiten willst dann könnte dir evtl. dieser Code weiterhelfen:

Code:
Public Sub Leere_Zeile_bei_Wechsel()
'http://www.office-loesung.de/fpost711669.php#711669
    Dim lngRow As Long
    Application.ScreenUpdating = False
    For lngRow = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
        If Cells(lngRow, 1).Value <> Cells(lngRow - 1, 1).Value And _
            Not IsEmpty(Cells(lngRow, 1)) And Not IsEmpty(Cells(lngRow - 1, 1)) Then _
            Rows(lngRow).Insert Shift:=xlShiftDown
    Next
    Application.ScreenUpdating = True
End Sub
Gruß
Peter
Top
#5
Hallo Zusammen,

vielen Dank für die vielen Antworten.
Nun, es kommt nicht von mir, es ist leider eine Vorgabe und ich habe die Leerzeilen einzufügen. Und da mir das halt zu mühselig ist, dies jedes Mal mit markieren/ einfügen zu machen, hab ich hier mal nach gefragt. 

Kurze Frage, was ist VBA? Und wie wende ich den Code unten an? Der Link http://www.office-loesung.de/fpost711669.php#711669 funktioniert leider nicht oder im Moment nicht, das weiß ich nicht genau.

Allerbesten Dank schon mal.

Und einen guten Wochenstart...

Bastian
Top
#6
Hallo,

der Link ist lediglich eine Quellenangabe (der Code stammt nicht von mir).

Der Code muss in ein allgemeines Modul der Datei:

- Öffne mit Alt+F11 den VBA-Editor
- mit Strg+R den Projekt-Explorer öffnen und aktivieren
- die gewünschte Datei per Doppelklick markieren
- Tastenkombination Alt+E und dann M drücken
- in der rechten Fensterhälfte ist jetzt ein leeres Modul eingefügt worden
- in dieses Modul muss der Code eingefügt werden
- im Projektexplorer wird das Modul unter der Datei angezeigt
- speichen und den VBA-Editor mit Alt+F4 schliessen
- das Makro steht dir jetzt in dieser Datei zur Verfügung und kann mit Alt-F8 aufgerufen werden
Gruß
Peter
Top
#7
(03.09.2017, 12:58)ExcelSpaß schrieb: Diese führt in Spalte A Auftragsnummern. Da aber zu jedem Auftrag mehrere Zeilen gehören, soll ich jedes Mal zwischen Auftrag und Auftrag eine Leerzeile einfügen. Händisch gehts ja ganz einfach mit markieren und einfügen. 

Hallo Bastian
Dass Leerzeilen in einer Datenbank (und um eine solche handelt es sich bei Deiner Liste) Unfug sind, wurde bereits erwähnt. Dass Aufträge sich über mehrere Zeilen erstrecken, ist Unfug^2. Diese Aussage darfst Du ohne weiteres Deinem Chef machen, der offenbar nichts von Datenverarbeitung und Digitalisierung der Arbeit / der Arbeitsabläufe versteht. Es ist schade um unsere Zeit, in so ein Projekt Zeit zu investieren.
Gruss
Top
#8
(04.09.2017, 08:56)Helvetier schrieb: Es ist schade um unsere Zeit, in so ein Projekt Zeit zu investieren.

der war gut, denn Zeitmangel scheinen die zahlreichen Experten, die, wie in diesem Thread, herumlamentieren, nicht zu haben.  Blush

Gruß Uwe
Top
#9
Wie das aussehen sollte:


Angehängte Dateien
.xlsx   Beispiel_Datei_soll.xlsx (Größe: 11,82 KB / Downloads: 6)
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Top
#10
Hallo Zusammen,

erst nochmal vielen Dank für die vielen Antworten. Auch wenn die Aktion unsinnig erscheint, mir hat sie sehr geholfen und ich habe dadurch diese Woche sehr viel Zeit gespart. Es ist einfach klasse, das es euch hier gibt! Smile

Jetzt nur noch eine Frage, welchen Parameter müsste ich verändern um das Ganze nicht in Spalte A sondern in z.B. Spalte C stattfinden zu lassen? 

Vielen Dank für eure Mühe und einen schönen Tag noch...

Bastian
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste