Microsoft Excel

Herbers Excel/VBA-Archiv

Bestimmte Anzahl von Zellen einfügen

Betrifft: Bestimmte Anzahl von Zellen einfügen von: Klaus Weiß
Geschrieben am: 17.10.2014 10:18:49

Hallo,
ich habe eine sehr große Tabelle, in die ich eine bestimmte Anzahl von Zeilen für die weitere Bearbeitung einfügen muss. Bislang habe ich mit folgender Anweisung (mühsam)gearbeitet:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Dim zeilenanzahl As Integer
  zeilenanzahl = ActiveCell
  Range(ActiveCell, ActiveCell.Offset((zeilenanzahl - 1), 0)).EntireRow.Insert
  Cancel = True
End Sub

Ich möchte nun z.B. Spalte G durchsuchen lassen und Reihen entsprechend der ausgelesenen Zahl einfügen lassen.
Für eine Hilfestellung wäre ich sehr dankbar.
Danke Klaus

  

Betrifft: AW: Bestimmte Anzahl von Zellen einfügen von: Petert (hpo)
Geschrieben am: 17.10.2014 11:24:50

Hallo Klaus

Vieleicht kommst Du damit weiter?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Dim zeilenanzahl As Integer, i As Integer
  zeilenanzahl = ActiveCell.Value
  For i = 0 To zeilenanzahl - 1
    Rows(ActiveCell.Row).EntireRow.Insert
  Next i
  Cancel = True
End Sub
Gruß
Peter (hpo)


  

Betrifft: AW: Bestimmte Anzahl von Zellen einfügen von: Klaus Weiß
Geschrieben am: 17.10.2014 11:46:44

Hallo Peter,
herzlichen Dank für die Antwort. Vielleicht habe ich mich falsch ausgedrückt. Ich möchte mir den Doppelklick sparen und per vba den nächsten Zellwert der Spalte G suchen und die Zeilen entsprechend dem darin enthaltenen Wert hinzufügen lassen, dann den nächsten Wert in G usw.. Mir ist es gleich, ob ich das Makro per Button/Aufruf oder Änderung des Wertes in G starte.
Gruß Klaus


  

Betrifft: AW: Bestimmte Anzahl von Zellen einfügen von: Klaus Weiß
Geschrieben am: 17.10.2014 22:31:45

Hallo nochmal,
ich habe ein bisschen probiert und mit folgender Anweisung funzt es:

Sub Banana()
    Dim i As Integer, n As Integer, m As Long, currentCell As Range
    Set currentCell = ActiveCell
    Do While Not IsEmpty(currentCell)
        n = currentCell.Value
        m = currentCell.Row
        If n > 0 Then
            Rows(m + 1 & ":" & m + n).Insert
            Set currentCell = currentCell.Offset(n + 1, 0)
        Else
            Set currentCell = currentCell.Offset(1, 0)
        End If
    Loop
End Sub



 

Beiträge aus den Excel-Beispielen zum Thema "Bestimmte Anzahl von Zellen einfügen"