1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Excel - Makro Zeilen löschen und hinzufügen

Discussion in 'Office-Programme' started by Elviz111, May 21, 2015.

Thread Status:
Not open for further replies.
  1. Elviz111

    Elviz111 ROM

    Hi,

    ich habe folgende Problemstellung.

    Ich habe in einem Sheet die Zellen B2 bis F2 mit dem Namen "Beginn" definiert.
    Ferner habe ich die Zellen B7 bis F7 mit dem Namen "Ende" definiert.

    Ich möchte nun ein Makro erstellen welches im ersten Schritt die Zeilen dazwischen löscht und dann eine vordefinierte Anzahl von Zeilen, die Zahl wird in A1 angegeben, einfügt.

    Bitte um eure Hilfe!

    Vielen Dank!

    LG
    elviz111
     
  2. Eric March

    Eric March CD-R 80

    Ööööhh?!
    Von Welchen Zeilen spricht der Herr, 2 bis 7 bzw. 3 bis 6? Und woher weiß das Makro wo die Grenzen des Löschbereichs sind; muss es die Ranges der Namen erfassen und mittenmang löschen? Ich sehe gerade nicht was ein Makro da nützt da das alles recht statisch aussieht.

    Mal diese Prämisse (mittenmang rauslöschen) angenommen:
    Code:
    Sub Makro1()
    Dim BeutzterName As String
    Dim OberZeile As Integer
    Dim UnterZeile As Integer
    Dim BenutzteSpalte As Integer
    Dim I As Integer
    Dim NeueZeilen As Integer
     BeutzterName = "C_Spalte"
     NeueZeilen = Cells(1, 1).Value
     BenutzteSpalte = Range(BeutzterName).Column
     OberZeile = Range(benutztername).Row + 1
     UnterZeile = OberZeile + Range("C_Spalte").Rows.Count - 1 - 2
     For I = OberZeile To UnterZeile
      Rows(OberZeile).Delete
     Next
     For I = 1 To NeueZeilen
      Rows(OberZeile).Insert
     Next
     Range(Cells(OberZeile - 1, BenutzteSpalte), Cells(OberZeile + NeueZeilen, BenutzteSpalte)).Name = BeutzterName
    End Sub
    Hier wird nur eine einzige Spalte angenommen, und komfortabel der alte Name auf den neuen Bereich angewandt.
    Wenn du andere Schnittgrenzen brauchst dürfte sich das leicht anpassen lassen.

    Eric March
     
  3. Elviz111

    Elviz111 ROM

    Hallo Eric,

    super dein Code hat toll funktioniert. Genau das habe ich gesucht!

    Vielen herzlichen Dank!

    LG
     
  4. Eric March

    Eric March CD-R 80

    Gern geschehen, dafür dass ich das relativ zügig hingestippselt habe - richtig schön ist das nämlich nicht ;)
    Eric March
     
Thread Status:
Not open for further replies.

Share This Page