Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1516to1520
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zellen und Werte einfügen

Zellen und Werte einfügen
10.10.2016 09:23:41
Tom
Moin zusammen,
ich habe in einer Zelle einen Wert PHMRessource3009161107.
Unter diese Zelle sollen nun 4 weitere Zellen mit diesem Wert eingefügt werden.
Die danebenliegenden Spalten sollen davon unberührt bleiben.
Ich habe schon ein Makro, dass 4 Zellen nach einer Zelle einfügt, aber eben nicht den Inhalt.
  • 
    Sub Leerzeilen()
    Dim i As Integer
    Dim z As Integer
    Application.ScreenUpdating = False
    For i = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
    For z = 1 To 4
    Cells(i, 1).EntireRow.Insert Shift:=xlDown
    Next z
    Next i
    Application.ScreenUpdating = True
    End Sub
    

  • Kann mir jemand von Euch weiterhelfen?
    Vielen Dank im Voraus.
    Gruß
    Tom

    6
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Zellen und Werte einfügen
    10.10.2016 09:29:37
    Daniel
    Hi
    die zweite Schleife ist unnötig.
    man kann auch 4 Zeilen auf einmal einfügen.
    
    Sub Leerzeilen()
    Dim i As Integer
    Dim z As Integer
    Application.ScreenUpdating = False
    For i = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
    Rows(i + 1).Resize(4).Insert
    Cells(i + 1, 1).Resize(4, 1).Value = Cells(i, 1).Value
    Next
    Application.ScreenUpdating = True
    End Sub
    
    gruß Daniel
    AW: Zellen und Werte einfügen
    10.10.2016 10:42:56
    Tom
    Vielen Dank!!!
    Gruß Tom
    AW: Zellen und Werte einfügen
    10.10.2016 09:46:01
    Piet
    Hallo Tom
    anbei dein Code zurück, mit einer dringenden W a r n u n g !! Dein Code hat einen falschen Befehl !!
    Mit Cells().EntireRow - verschiebst du die gaqnze Zeile, nicht njur die Zelle. Auch die Nachbar Spalten!!
    Schau mal ob es so funktioniert wie du es willst. Am besten in einer Beispieldatei wo du keine Daten verschiebst.
    mfg Piet
    '10.10.2016   Piet   Herber Forum
    'Wzrnung:  diese Codezeile stimmt nicht !!
    'So verschiebt man die ganze Zeile mit Nachbar Spalten
    '##  Cells(i, 1).EntireRow.Insert Shift:=xlDown  ##
    Sub Leerzeilen()
    Dim Wert As Variant
    Dim i As Integer
    Dim z As Integer
    Application.ScreenUpdating = False
    For i = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
    Wert = Cells(i, 1)  'Wert vorher laden !!
    For z = 1 To 4
    Cells(i, 1).Insert Shift:=xlDown
    Next z
    'Wert mit Resize einfügen  (4 Zeilen)
    Cells(i, 1).Resize(4, 1) = Wert
    Next i
    Application.ScreenUpdating = True
    End Sub
    

    Anzeige
    AW: Zellen und Werte einfügen
    10.10.2016 10:02:06
    Piet
    Hi Daniel
    hatte deine Antwort noch nicht gesehen, hat sich überschnitten. Gute Lösung von dir mit Resize. Ist dir im Text was aufgefallen? Da steht, die Nachbar Spalten sollen unberührt bleiben. Ich hatte das Makro im Test laufen lassen uns sagte: Upps, da stimmt doch was nicht. Er will doch nur Spalte A verschieben. Auf die Idee beim verschieben Resize zu nutzen bin ich nicht gekommen.
    schöne Grüsse Piet
    AW: Zellen und Werte einfügen
    10.10.2016 10:27:36
    Daniel
    Hi
    ja, hat mich auch etwas gewundert, aber es kann ja auch gemeint sein, dass man 4 ganze Zeilen einfügen will aber nur in der ersten Spalte die Werte in die neuen Zeilen übernommen werden sollen.
    aber auch wenn man nur in einer Spalte das machen will, braucht man die innere Schleife nicht
    Cells(i + 1, 1).Resize(4).Insert Shift:=xldown 
    

    funktioniert auch.
    Das einzeln einfügen per Schleife sollte man vermeiden, bzw soweit wie möglich reduzieren.
    in Excel ist es so, dass das Einfügen eines größeren, lückenlosen Blocks genauso lang dauert wie das Einfügen einer einzelnen Zeile.
    dh Rows(1).Insert braucht genauso viel Zeit wie Rows(1).Resize(1000).Insert
    noch schneller würde es gehen, wenn sortiert werden darf.
    dann könnte man den ganzen Block kopieren und noch 4x darunter einfügen und dann das ganze sortieren.
    Beim Sortieren ist Excel sehr schnell.
    Gruß Daniel
    Anzeige
    AW: Zellen und Werte einfügen
    10.10.2016 10:56:20
    Tom
    Oh ich seh jetzt erst, dass da mehrere Nachrichten sind. Sorry Piet und Daniel!!
    So sieht die Spalte aus, um die es geht.

  • PHMRessource3009161104
    PHMRessource3009161105
    PHMRessource3009161106
    PHMRessource3009161107
    PHMRessource3009161108
    PHMRessource3009161109
    PHMRessource3009161110

  • Ergebnis soll sein:

  • PHMRessource3009161104
    PHMRessource3009161104
    PHMRessource3009161104
    PHMRessource3009161104
    PHMRessource3009161104
    PHMRessource3009161105
    PHMRessource3009161105
    PHMRessource3009161105
    PHMRessource3009161105
    PHMRessource3009161105
    PHMRessource3009161106
    PHMRessource3009161106
    PHMRessource3009161106
    PHMRessource3009161106
    PHMRessource3009161106
    PHMRessource3009161107
    PHMRessource3009161107
    PHMRessource3009161107
    PHMRessource3009161107
    PHMRessource3009161107
    PHMRessource3009161108
    PHMRessource3009161108
    PHMRessource3009161108
    PHMRessource3009161108
    PHMRessource3009161108
    PHMRessource3009161109
    PHMRessource3009161109
    PHMRessource3009161109
    PHMRessource3009161109
    PHMRessource3009161109
    PHMRessource3009161110
    PHMRessource3009161110
    PHMRessource3009161110
    PHMRessource3009161110
    PHMRessource3009161110

  • Mit dem Code von Daniel klappt das super!!!
    Nochmal vielen Dank!!!
    Grüße
    Tom
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige