Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema InputBox
BildScreenshot zu InputBox InputBox-Seite mit Beispielarbeitsmappe aufrufen

Änderung VBA-Code zum Einfügen von Zeilen

Betrifft: Änderung VBA-Code zum Einfügen von Zeilen von: Michael
Geschrieben am: 17.08.2014 11:49:35

Hallo Zusammen!

Ich habe im Archiv einen tollen VBA-Code gefunden, der es ermöglicht, per Doppelklick auf eine Zelle ein Fenster zu öffnen und dort einzugeben, wie viele Zeilen ich nach der aktuellen Zeile (also nach unten) einfügen will.

ABER: Es es wird beim Einfügen (egal wie viele Zeilen eingefügt werden sollen) nicht nur diese neue Zeile eingefügt, sondern oberhalb der eingefügten Zeile(n) stets eine Leerzeile zusätzlich eingefügt.

Das ist lästig, weil ich die Tabelle "lückenlos" erweitern will, mit kopierten Formeln und Formatierungen.

Hat jemand einen Tipp, wie das Einfügen einer zusätzlichen (!) Leerzeile verhindert werden kann?

Vielen Dank im Voraus!
Gruß
Michael

Nachfolgend der VBA-Code:

---------
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, cancel As Boolean)
Dim zeilenanzahl As Long
Dim Zelle As Range
Dim x As Integer
x = 2
Dim i As Integer
Dim quelle As Range
Dim ziel As Range
Set quelle = ActiveCell 'bezieht sich auf die ausgewählte Zelle
Set ziel = quelle.Offset(1, 0)
Application.ScreenUpdating = False
If Target.Column = 1 Then 'Hier wird die Spalte "A" (1) auf Doppelklick überwacht
On Error GoTo ausstieg
zeilenanzahl = InputBox("Wieviel Zeilen?", "Zeilen einfügen")
ziel.EntireRow.Insert shift:=xlDown
ziel.EntireRow.Insert shift:=xlDown
For i = 1 To zeilenanzahl
quelle.EntireRow.Copy
quelle.EntireRow.Offset(x, 0).PasteSpecial
quelle.EntireRow.Offset(x, 0).SpecialCells(xlCellTypeConstants).ClearContents
quelle.EntireRow.Offset(x + 1, 0).Insert shift:=xlDown
x = x + 1
Next i
'####################################
'Wenn auch nach dem eingefügten Bereich eine Leerzeile sein soll
'dann einfach diese Code-Zeile auskommentieren
quelle.EntireRow.Offset(x, 0).Delete
'####################################
quelle.Offset(2, 0).Select
End If
ausstieg:
Application.CutCopyMode = False
cancel = True
Exit Sub

  

Betrifft: AW: Änderung VBA-Code zum Einfügen von Zeilen von: Daniel
Geschrieben am: 17.08.2014 12:34:14

Hi

Hast du schon mal im Einzelstep den Code getestet und dir dabei angeschaut, was im Tabellenblatt passiert?
Dann siehst du, bei welchen Programmzeilen die aLeerzeilen eingefügt werden und welche du ggf. löschen musst.

Gruß Daniel


  

Betrifft: AW: Änderung VBA-Code zum Einfügen von Zeilen von: Michael
Geschrieben am: 17.08.2014 12:40:55

Hallo Daniel,

danke, eine gute Idee, aber wie bewerkstellige ich dies ?

Gruß
Michael


  

Betrifft: AW: Änderung VBA-Code zum Einfügen von Zeilen von: Michael
Geschrieben am: 17.08.2014 12:47:51

Hallo nochmal,

habs grad rausgefunden und teste mal. Danke!

Gruß
Michael


  

Betrifft: AW: Änderung VBA-Code zum Einfügen von Zeilen von: Werner
Geschrieben am: 17.08.2014 16:25:01

Hallo Michael,

wenn es nur um das Einfügen einer bestimmten Anzahl von Leerzeilen geht dann so.

https://www.herber.de/bbs/user/92161.xlsm

Das andere Beispiel ist ein Versuch von mir, da geht es aber darum, dass gleichzeitig noch eine Zeile kopiert und dann nur mit vorhandenen Formeln wieder eingefügt wird.

Das obige Beispiel fügt nur eine bestimmte Anzahl leerer Zeilen ein.

Werner


  

Betrifft: AW: Änderung VBA-Code zum Einfügen von Zeilen von: Michael
Geschrieben am: 17.08.2014 18:25:14

Hallo Werner,

VIELEN DANK - Genau das isses !!

Gruß
Michael


  

Betrifft: AW: Fehlt noch die Formelübernahme von: Michael
Geschrieben am: 17.08.2014 19:14:24

Hallo Werner,

wie kann ich erreichen, dass die Formeln in die eingefügten Leerzeilen übernommen und fortgeschrieben werden? Also z.B. =B5*C5 und nach dem Einfügen von 1 neuen Zeile dann =B6*C6 usw.?

Danke für einen Tipp im Voraus!
Gruß
Michael


  

Betrifft: AW: Fehlt noch die Formelübernahme von: Werner
Geschrieben am: 17.08.2014 20:09:32

Hallo Michael,

da muss dann mit copy und pastespecial gearbeitet werden. Ich hab da schon etwas das ich noch kurz anpassen muss. Aber heute nicht mehr, ich meld mich morgen.

Werner


  

Betrifft: AW: Fehlt noch die Formelübernahme von: Werner
Geschrieben am: 18.08.2014 11:40:52

Hallo Michael,

bei dieser Version werden die Werte in den kopierten Zellen gelöscht, die Formeln und die Formatierungen bleiben erhalten.

https://www.herber.de/bbs/user/92171.xlsm

Gruß Werner


  

Betrifft: AW: VIELEN DANK !! von: Michael
Geschrieben am: 18.08.2014 16:40:13

Hallo Werner,

hab recht herzlichen Dank für deine Mühe !!
Ist genau das was ich gesucht habe.

Gruß
Michael


  

Betrifft: Danke für die Rückmeldung owT von: Werner
Geschrieben am: 18.08.2014 18:34:04




 

Beiträge aus den Excel-Beispielen zum Thema "Änderung VBA-Code zum Einfügen von Zeilen"